http状态码301和302详解及区别——辛酸的探索之路
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解。这里记录下,希望能有新的认识。大家也共勉。
官方的比较简洁的说明:
301 redirect: 301 代表永久性转移(Permanently Moved)
302 redirect: 302 代表暂时性转移(Temporarily Moved )
ps:这里也顺带记住了两个比较相近的英语单词(permanently、temporarily),嘻哈!
详细来说,301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的Location首部中获取(用户看到的效果就是他输入的地址A瞬间变成了另一个地址B)——这是它们的共同点。他们的不同在于。301表示旧地址A的资源已经被永久地移除了(这个资源不可访问了),搜索引擎在抓取新内容的同时也将旧的网址交换为重定向之后的网址;302表示旧地址A的资源还在(仍然可以访问),这个重定向只是临时地从旧地址A跳转到地址B,搜索引擎会抓取新的内容而保存旧的网址。
这里开启傻瓜自问自答模式(自己可能想到的疑问):
1、什么是重定向啊?
就是地址A跳转到地址B啦。百度百科的解释:重定向(Redirect)就是通过各种方法将各种网络请求重新定个方向转到其它位置(如:网页重定向、域名的重定向、路由选择的变化也是对数据报文经由路径的一种重定向)。
2、可是,为什么要进行重定向啊?什么时候需要重定向呢?
想跳就跳,就跳的漂亮。还是借鉴百度百科:
之前做过一个重构的项目,由于各种原因,我们的网站的登录以及注册部分需要剥离为另一个网站,域名和之前的不同,所以,我们需要保证旧的地址也能重定向到地址中去,我们就在旧的系统的node层中作了一个重定向,代码类似这样:
这里没有设置状态码,发现默认是302跳转,然后我们设置了301状态码,类似这样:
用fiddle抓包(上面的302调整我就不上图了),看到效果:
以上是使用Express,用nodejs原生的代码实现类似这样:
先到这里了,路漫漫其修远兮,下班回家。
http状态码301和302详解及区别——辛酸的探索之路相关推荐
- HTTP 状态码 301 和 302 详解及区别——辛酸的探索之路
转自:http://blog.csdn.net/grandpang/article/details/47448395 一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了 ...
- http状态码301和302详解及区别
一直对http状态码301和302的理解比较模糊,在遇到实际的问题和翻阅各种资料了解后,算是有了一定的理解.这里记录下,希望能有新的认识.大家也共勉. 官方的比较简洁的说明: 301 redire ...
- html状态中的302代码含义,网站状态码301与302的作用与区别
网站如果进行了改版,如果URL地址也发生了变化,那么就需要用到301或302把旧的网址临时或永久的重定向到新的网址上去,这样不仅可以增强用户的体验,而且对搜索引擎的收录还是很好的.那么今天飞鸟慕鱼博客 ...
- 117、状态码301,302,304的区别
301:永久性重定向.从网址A重定向到B后,旧地址A的资源已经被永久地移除了:比如你的网站从 HTTP 升级到了 HTTPS 了,以前的站点再也不用了,应当返回301: 302:临时重定向.旧地址A的 ...
- 重定向状态码301和302的区别
对于URL来讲,可以用状态码301或302改变URL地址值实现重定向,重定向是指向服务器发送重定向的数据,服务器返回新的URL地址值跳转 301永久重定向 301为永久重定向,重定向一次后浏览器会保存 ...
- HTTP状态码301和302的区别详解
文章目录 1.简介 2.301永久重定向 3.302临时重定向 4.为何要重定向? 5.何时会重定向? 6.301和302的区别 7.302的危害/风险 1.简介 HTTP状态码中,301和302都是 ...
- 状态码301和302的区别?
301 Moved Permanently 永久性重定向.该状态码表示请求的资源已被分配了新的 URI,以后应使用资源现在所指的URI. 也就是说,如果已经把资源对应的 URI 保存为书签了,这时应该 ...
- http状态码301、302、303、307、308区别
3xx开头的状态码都表示重定向. 先说明一些版本问题, 301和302都是http1.0就定义好的,在http1.1中才新增了 其余的状态码. 301 Moved Permanently 永久重定向 ...
- 服务器请求状态码返回400,HTTP详解(四)——返回结果的HTTP状态码
HTTP状态码负责表示客户端HTTP请求的返回结果.标记服务器端的处理是否正常.通知出现的错误等工作. 状态码告知从服务器端返回的请求结果 状态码的职责是当客户端向服务器端发送请求时,描述返回的请求结 ...
最新文章
- golang类型断言的使用(Type Assertion)
- struts2.0获取各种表单的数据
- linux系统UDP的socket通信编程
- 继承关系中的拷贝构造函数和赋值操作重载函数分析
- Kafka MirrorMaker 跨集群同步工具
- 计算机基础项目任务教学重构,面向计算思维培养的中职课程项目式重构研究
- zabbix 配置mysql_zabbix 配置mysql监控
- 三星Galaxy Note 10 Pro渲染图曝光:挖孔屏+前摄居中
- python求解LeetCode问题之trapping rain water
- 利用swap()函数来收缩内存
- BNU 鸣人的查克拉
- 汽车半导体器件AECQ认证测试及相关标准和表格文件
- Mac go环境搭建Idea配置环境
- 《大侦探皮卡丘》天龙八部在路上
- 如何让网站很快被百度收录?
- 人民的名义关系可视化展示
- 如何在Ubuntu下使用全民wifi?
- 【UVM基础】uvm_resource_db 使用介绍
- 中资美元债这么膨胀,个人投资者怎么买?
- CQOI2020 退役记
热门文章
- AS608光学指纹模组编程和应用详解
- mac电脑忘记账户名密码解决方法
- 《Scikit-Learn与TensorFlow机器学习实用指南》 第04章 训练模型
- 使用设计模式出任CEO迎娶白富美(2)--老板就喜欢聊设计模式?
- 文本中每行的部分文本格式由CamelWord的形式替换为CAMEL_WORD的形式
- 设置iframe高度的问题
- 2020年云南省土地利用数据生产流程
- Web.xml分模块
- 什么是上下文切换?如何减少上下文切换?
- mysql 挑战握手协议_[中文协议]PPP挑战握手认证协议(CHAP)