http状态码301和302的区别
http状态码301和302的区别官方简洁说明:
301 redirect: 301 代表永久性转移(Permanently Moved)
302 redirect: 302 代表暂时性转移(Temporarily Moved )
1、什么是301重定向啊?
301重定向简单地讲就是从A地址跳到时B地址,关于301重定向百度百科是这样解释的,301重定向就是通过各种方法将各种网络请求重新转到新的位置上。
2、可是,为什么要进行重定向啊?什么时候需要重定向呢?
什么情况下要进行301重定向呢?可参考以下几种情况:
1)网站有调整,例如网站域名或者目录的改变;
2)网页内容被转移到一个新的URL地址;
3)网站后缀扩展名的改变,例如想将网页扩展名.php改成.html或者.shtml。
以上三种情况,如果不做301重定向,那么用户在访问老url地址的时候就会变成404页面,不但流量丢失了,就连网站老用户都有可能丢失,因此301重定向对于网站页面的改变、域名的改变都是非常重要的。
3、那么,什么时候进行301或者302跳转呢?
例如某个网站或者某一个网页想要临时跳转到某一个新的URL位置,此时我们就可以使用302暂时性跳转规则,就像是小明有一套房子,小明过节去亲戚家住两天,两天后还会回来住,同样的道理。
301永久性跳转指的是由于某种原因以前的老网站url地址移除掉了,然后要跳转更新到新的URL地址,永久性的跳转,我们还说到以上的例子,小明的房子是租的,不是他自己的,租约一到,还需要搬到新的地方居住,那么之前的房子对于小明来说是回不去了,不存在了。
总结,302跳转代表的是原地址还可以回去,转移到另一个地方只是暂时性的,301跳转代表的意思是原地址已不能回去,转移到另一个地方是永久性的,而且在地址已是不能回去的,URL地址也是同样的道理。
4、使用301跳转的场景:
301永久性跳转可适用于以下几种情况:
1)旧网站域名由于其它原因不想要了,也或者是发现了更好的域名,想换一个域名;
2)网站收录结果中出现了收录有不带www的域名,而带www的域名的网站页面却没有收录,此时我们就可以使有301跳转来告诉搜索引擎我们要它收录的域名是哪个;
3)网站使用最新的SSL证书,想要将http协议301永久跳转到https协议的域名上。
5、301重定向和302重定向的区别
302重定向代表的是暂时性的跳转,保留了原域名内容抓取了新域名内容,服务器返回的状态码为302,搜索引擎就会认为这种只是暂时性的跳转。
301重定向跳转代表的是永久性的跳转,搜索引擎在抓取新域名内容的时候将会把旧域名内容替换成新域名内容。
6、为什么302 重定向和网址劫持有关联
A域名302重定向到B域名,代表的意思是A域名暂时性跳转到B域名,可能会随时发生改变,搜索引擎在大部分的情况下,检测到302跳转指令的时候,都会抓取目标网站B域名,如果搜索引擎在收到302跳转指令时能百分之百去抓取B域名网址时,这种情况就不用担心域名被劫持了,主要问题就是有的时候搜索引擎并不能百分之百去抓取目标网站,特别是谷歌Google搜索引擎。
还有一种情况就是A域名很短对用户、搜索引擎都很友好,但是站长做了一个302暂时性重定向跳转到B域名,而B域名又是一个乱七八糟,域名又很长,对用户和搜索引擎也不友好,甚至还包含一个特殊的参数符号,这种情况搜索引擎显示的域名仍然有可能还是显示A域名,搜索引擎毕意只量一段程序代码,并不能像人一样智能,这种情况就很有可能会造成域名遭劫持,例如某个人将自己的A域名302跳转到了你的域名B,由于其它原因,搜索引擎展示的搜索结果域名仍然显示的是A域名,但内容却是你的B域名网站内容,像这样的情况就是域名劫持,你辛苦做的内容就被别人这样偷走了。
302重定向最大的问题就是会造成域名劫持,这种问题已经存在有一段时间了,目前还没有很好的解决办法,但从目前相关行业的搜索结果来看,网站域名劫持现象还是有所改善的,但并没有完全解决这个问题。