通过Nginx实战讲解HTTP的301和302状态码的区别
- 1. 简介
- 2. 301永久重定向
- 3. 302临时重定向
1. 简介
HTTP状态码中,301和302都是网页重定向跳转。301重定向是一种永久重定向,而302跳转是暂时的跳转
● 为什么需要重定向:
网站是会被大量用户收藏在自己的浏览器收藏夹的,当然收藏的是域名或者域名+Path,当网站原资源path发生改变时,如果不进行重定向操作,当用户再次访问收藏的资源时,由于原path已经改变不存在,那么服务器只会给用户返回404,这是不应该发生的。
因此出现了重定向操作,即当用户访问改变了位置的资源时,通过服务器的反馈得知资源位置已经改变,随即浏览器就会访问改变后的资源位置,而不会引发404。
● 什么时候要进行重定向:
域名更换(旧域名更换为新域名)
多域名跳转(多个域名跳转至主站,进行引流)
网站调整(如改变网页目录结构)
路径改变(如网页被移到一个新地址)
网页扩展名改变(如应用需要把.php改成.html或.shtml)
在这几中情况中,一般只有原路径或域名存在的情况下可能会使用到302,其余的都推荐使用301
2. 301永久重定向
301状态码是永久重定向(Moved Permanently
),表示所请求的资源已经永久地转移到新的位置,这包含域名的改变或者是资源路径的改变。
301表示旧网站的资源已经被永久地移除了,搜索引擎