3×× 重定向
301 Moved Permanently 永久移动
请求资源的 URL 已永久更改。新的 URL 在响应中给出。
已为目标资源分配了新的永久 URI,并且将来对此资源的任何引用都应使用其中一个封闭的 URI。
如果可能,具有链接编辑功能的客户端应该自动将对有效请求 URI 的引用重新链接到服务器发送的一个或多个新引用.
服务器应该在响应中生成一个 Location 头字段,其中包含新永久 URI 的首选 URI 引用。用户代理可以使用 Location 字段值进行自动重定向。服务器的响应负载通常包含一个简短的超文本注释,其中包含指向新 URI 的超链接。
注意:由于历史原因,用户代理可以将后续请求的请求方法从 POST 更改为 GET。如果不希望出现这种行为,则可以改用307 临时重定向状态代码。
默认情况下,301 响应是可缓存的;即,除非方法定义或显式缓存控件1另有说明.
- 1 Calculating Heuristic Freshness RFC7234 Section 4.2.2
- Source: RFC7231 Section 6.4.2
301 代码参考
Rails HTTP Status Symbol :moved_permanently
Go HTTP Status Constant http.StatusMovedPermanently
Symfony HTTP Status Constant Response::HTTP_MOVED_PERMANENTLY
Python2 HTTP Status Constant httplib.MOVED_PERMANENTLY
Python3+ HTTP Status Constant http.client.MOVED_PERMANENTLY
Python3.5+ HTTP Status Constant http.HTTPStatus.MOVED_PERMANENTLY