HTTP的301状态码


本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/02/16/HTTP%E7%9A%84301%E7%8A%B6%E6%80%81%E7%A0%81/

摘要

本文主要讲述了:

  1. 作用
  2. 区别

正文

作用

301 Moved Permanently表示请求的资源已经被永久迁移到Location响应头的值。浏览器应该重定向到新的 URL,搜索引擎应该更新到新的 URL。

注:历史栈中的现有元素会被替换,即无法通过【返回】回到旧 URL。

尽管 HTTP 规范要求客户端不得在重定向中变更请求的方法和请求体,但并不是所有客户端都遵循了此规范。这也是后来308诞生的原因。

示例:

1
2
HTTP/1.1 301 Moved Permanently
Location: https://jsweibo.github.io/

区别

  • 对于GET方法和HEAD方法,301308是完全相同的
  • 对于其他方法,308明确禁止客户端变更请求方法和请求体,因为部分客户端在收到301后会把非HEAD方法变更为GET并丢弃请求体,这也是308诞生的原因

参考资料

本文作者: jsweibo

本文链接: https://jsweibo.github.io/2020/02/16/HTTP%E7%9A%84301%E7%8A%B6%E6%80%81%E7%A0%81/


本文对你有帮助?请支持我


支付宝
微信