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、可是,为什么要进⾏重定向啊?什么时候需要重定向呢?
想跳就跳,就跳的漂亮。还是借鉴百度百科:
1)⽹站调整(如改变⽹页⽬录结构);
2)⽹页被移到⼀个新地址;
js数组移除元素3)⽹页扩展名改变(如应⽤需要把.php改成.Html或.shtml)。
linux有界面吗这种情况下,如果不做重定向,则⽤户收藏夹或搜索引擎数据库中旧地址只能让访问客户得到⼀个404页⾯错误信息,访问流量⽩⽩丧失;再者某些注册了多个域名的⽹站,也需要通过重定向让访问这些域名的⽤户⾃动跳转到主站点等。
3、那么,什么时候进⾏301或者302跳转呢?
当⼀个⽹站或者⽹页24—48⼩时内临时移动到⼀个新的位置,这时候就要进⾏302跳转,打个⽐⽅说,我有⼀套房⼦,但是最近⾛亲戚去亲戚家住了,过两天我还回来的。⽽使⽤301跳转的场景就是之前的⽹站因为某种原因需要移除掉,然后要到访问,是永久性的,就⽐如你的那套房⼦其实是租的,现在租期到了,你⼜在另⼀个地⽅到了房⼦,之前租的房⼦不住了。
position和location的区别清晰明确⽽⾔:
使⽤301跳转的场景:
1)域名到期不想续费(或者发现了更适合⽹站的域名),想换个域名。
2)在搜索引擎的搜索结果中出现了不带www的域名,⽽带www的域名却没有收录,这个时候可以⽤301重定向来告诉搜索引擎我们⽬标的域名是哪⼀个。
3)空间服务器不稳定,换空间的时候。
怎么输出ascii码对应的字符使⽤302跳转的场景:
--尽量使⽤301跳转!
html5canvas对象的默认高度4、为什么尽量要使⽤301跳转?——⽹址劫持!数据库损坏了怎么办
这⾥摘录百度百科上的解释:
从⽹址A 做⼀个302 重定向到⽹址B 时,主机服务器的隐含意思是⽹址A 随时有可能改主意,重新显⽰本⾝的内容或转向其他的地⽅。⼤部分的搜索引擎在⼤部分情况下,当收到302 重定向时,⼀般只要去抓取⽬标⽹址就可以了,也就是说⽹址B。如果搜索引擎在遇到302转向时,百分之百的都抓取⽬标⽹址B 的话,就不⽤担⼼⽹址URL 劫持了。问题就在于,有的时候搜索引擎,尤其是Google,并不能总是抓取⽬标⽹址。⽐如说,有的时候A ⽹址很短,但是它做了⼀个302 重定向到B ⽹址,⽽B ⽹址是⼀个很长的乱七⼋糟的URL ⽹址,甚⾄还有可能包含⼀些问号之类的参数。很⾃然的,A ⽹址更加⽤户友好,⽽B ⽹址既难看,⼜不⽤户友好。这时Google 很有可能会仍然显⽰⽹址A。由于搜索引擎排名算法只是程序⽽不是⼈,在遇到302 重定向的时候,并不能像⼈⼀样的去准确判定哪⼀个⽹址更适当,这就造成了⽹址URL 劫持的可能性。也就是说,⼀个不道德的⼈在他⾃⼰的⽹址A 做⼀个302 重定向到你的⽹址B,出于某种原因, Google 搜索结果所显⽰的仍然是⽹址A,但是所⽤的⽹页内容却是你的⽹址B 上的内容,这种情况就叫做⽹址URL 劫持。你⾟⾟苦苦所写的内容就这样被别⼈偷⾛了。302 重定向所造成的⽹址URL 劫持现象,已经存在⼀段时间了。不过到⽬前为⽌,似乎也没有什么更好的解决⽅法。在正在进⾏的⾕歌⼤爸爸数据中⼼转换中,302 重定向问题也是要被解决的⽬标之⼀。从⼀些搜索结果来看,⽹址劫持现象有所改善,但是并没有完全解决。
我的理解是,从⽹站A(⽹站⽐较烂)上做了⼀个302跳转到⽹站B(搜索排名很靠前),这时候有时
搜索引擎会使⽤⽹站B的内容,但却收录了⽹站A的地址,这样在不知不觉间,⽹站B在为⽹站A作贡献,⽹站A的排名就靠前了。
301跳转对查引擎是⼀种对照驯良的跳转编制,也是查引擎能够遭遇的跳转编制,它告诉查引擎,这个地址弃⽤了,永远转向⼀个新地址,可以转移新域名的权重。⽽302重定向很容易被搜索引擎误认为是利⽤多个域名指向同⼀⽹站,那么你的⽹站就会被封掉,罪名
是“利⽤重复的内容来⼲扰Google搜索结果的⽹站排名”。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。