nginx中301和302重定向之间的区别

nginx重定向有两种flag,一种是redirect,302;另外一种是permanent,301; 


首先客户端浏览器的URL都会改变;

302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的地址。因为服务器返回302,所以搜索引擎会认为新的网址是暂时的;

301重定向是永久的重定向,搜索引擎会抓取新的内容的同时将旧的地址替换为重定向后的网址; 


详细来说,301和302状态码都表示重定向,就是说浏览器在拿到服务器返回的这个状态码后会自动跳转到一个新的URL地址,这个地址可以从响应的location中获取。301表示旧地址资源已经被永久的移除了,搜索引擎在抓取新内容的同时也将旧的网址转换为重定向之后的网址;302表示旧的地址资源还在,仍然可以访问,这个重定向只是临时从旧地址跳转到新的地址,搜索引擎会抓取新的内容保存旧的网址,比如未登录的用户访问用户中心会重定向到登录页面;


例如:

image.png


扫描二维码关注公众号,回复: 3477651 查看本文章


302不安全,尽量使用301跳转,因为302会引起网址劫持:

解释:某个人在他自己的网址上做了一个302跳转,重定向到一家知名网址,处于某种原因,搜索引擎仍然收录了他自己的网址,但是所展示的网页内容却是知名网址的内容。在不知不觉中,知名网站就给他自己的网站做贡献,然后他自己的网站排名就靠前了。这种情况就是网址URL劫持。

302重定向很容易被搜索引擎误认为是利用多个域名指向同一网站,利用重复的内容来干扰Google搜索结果的网站排名,那么你的网站就会被封掉。




猜你喜欢

转载自blog.51cto.com/wenxi123/2295875