302 Found
302 Found
HTTP 响应状态码表示请求的资源已临时移动到 Location
标头中的 URL。
浏览器收到此状态后,将自动请求 Location
标头中的 URL 资源,将用户重定向到新页面。搜索引擎收到此响应后,不会将原始 URL 的链接归属于新资源,这意味着不会将任何 SEO 值传递给新 URL。
备注:
在 Fetch 标准中,当用户代理收到对 POST
请求的 302
响应时,它会在随后的重定向请求中使用 GET
方法,这是 HTTP 规范允许的。为了避免用户代理修改请求,请改用 307 Temporary Redirect
,因为在 307
响应后方法变换是明确禁止的。
在确实需要将重定向请求的方法转换为 GET
的场景下,可以使用 303 See Other
。例如在使用 PUT
方法进行文件上传操作时,需要返回确认信息(例如“你已经成功上传了 xyz”)而不是上传的资源本身,就可以使用这个状态码。
状态
http
302 Found
示例
带有新 URL 的 302 响应
http
GET /profile HTTP/1.1
Host: www.example.com
http
HTTP/1.1 302 Found
Location: https://www.example.com/new-profile-url
Content-Type: text/html; charset=UTF-8
Content-Length: 0
规范
Specification |
---|
HTTP Semantics # status.302 |
参见
- HTTP 的重定向
- HTTP 响应状态码
307 Temporary Redirect
,相当于302
,但请求方法未作修改。303 See Other
,临时重定向,并将方法更改为GET
301 Moved Permanently
,永久重定向。