HTTP 301

✍ dations ◷ 2024-10-19 08:53:30 #计算机错误,HTTP

301 Move Permanently 是HTTP协议中的一个状态码(Status Code)。可以简单地理解为该资源已经被永久改变了位置,通常会发送HTTP Location来重定向到正确的新位置。

返回301状态码进行跳转被Google认为是将网站地址由 HTTP 迁移到 HTTPS 的最佳方法。

根据定义:

客户端发出请求:

GET /blog HTTP/1.1Host: www.example.com

服务器回应,不带Cache-Control头部:

HTTP/1.1 301 Moved PermanentlyLocation: http://www.example.org/index.asp

服务器回应,带Cache-Control头部:

HTTP/1.1 301 Moved PermanentlyLocation: http://www.example.org/index.aspCache-control: private; max-age=600

客户端实现问题

当某些HTTP/1.0客户端收到该状态码时,可能会将POST方法改为GET方法,继续向新地址发出请求,这是错误的实现——故而后续标准引入了HTTP 307。

由于该代码表示页面地址发生了较长久的改变,故Bing和Google等搜索引擎都推荐使用301重定向,以改变搜索引擎中的实际页面地址。

相关