关于重定向301与302状态码的问题
Posted foryounge
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于重定向301与302状态码的问题相关的知识,希望对你有一定的参考价值。
1.重定向
(1) 什么是重定向?
服务器通知浏览器立即访问一个新的地址
注:服务器可以通过发送302状态码和location消息头(该消息头的值是一个地址,一般称之为重定向地址),浏览器收到之后,会立即向重定向地址发送请求
(2) 如何重定向
response.sendRedirect(String url);
‘注:url就是重定向地址。
‘重定向之前,容器会先清空response对象上存放的所有数据。也就是说响应数据包消息正文为空。
(3) 特点
a.重定向地址是任意的
b.重定向之后,浏览器地址栏的地址会发生变化。
官方给的说法中301与302是这样定义的:
- 301 redirect:
301
代表永久性转移(Permanently Moved)。 - 302 redirect:
302
代表暂时性转移(Temporarily Moved )。
对于用户:301与
302 对用户来说没有区别,他们看到效果只是跳转,即浏览器中旧的URL变成了新的URL。页面跳到了这个新的URL所指向的地址。
对于服务端:我们建议使用301状态码,特别是搜索引擎类的。因为如果使用了302,就可能发生网址篡改;当网页html301使用301状态码重定向到网页HTML302时,搜索引擎可以确认网页HTML301永久的重定向到location中的位置,或者说原地址实际上已经不存在了,搜索引擎就会把将HTML302当作唯一有效目标。这样搜索引擎会把HTML301后的页面作为目标location。
以上是关于关于重定向301与302状态码的问题的主要内容,如果未能解决你的问题,请参考以下文章
您如何在 ColdFusion 中重定向并控制状态码(即 301 而不是 302)