关于重定向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)

2021-05-17 C#.NET面试题 说说对http 301302303,304400405415状态码的认识;

状态码301 302

详解301重定向及实现方法

http 301 和 302的区别

复习HTTP状态码+301和302