302 Found 表示目标资源暂时位于另一个 URL 下,由 Location 响应头给出。由于只是临时移动,客户端今后的请求应继续使用原始 URL。
302 默认不可缓存,只有在 Cache-Control 或 Expires 明确允许时才会被复用。因此,对于取决于访客具体情况的重定向(例如把匿名用户引导到登录页),302 是稳妥的选择。
与 301 一样,用户代理在跟随 302 时可以把 POST 改为 GET,浏览器也确实这样做。HTTP/1.0 原本并无此意,所以 HTTP/1.1 增加了始终改用 GET 的 303 See Other,以及从不改变请求方法的 307 Temporary Redirect。许多框架至今仍把 302 用作默认的重定向状态码。
响应示例
HTTP
HTTP/1.1 302 Found
Date: Fri, 06 Nov 2026 10:15:32 GMT
Location: https://www.example.com/login?next=%2Faccount
Cache-Control: no-store
Content-Length: 0 SEO 与重定向检测
常见原因与使用场景
- 登录墙把匿名访客引导到
/login?next=...。 - 根据语言、国家或设备检测结果,把访客引导到本地化版本或移动版。可以用移动端与桌面端重定向对比工具比较手机和电脑分别得到什么结果。
- 点击跟踪链接和联盟推广链接使用 302,让每次点击都经过跟踪服务器。可以用短链接还原工具还原它们。
- 永久迁移被误配置成了 302,例如 Apache 的
Redirect指令未指定状态码,或者使用了框架的redirect()辅助函数(许多框架中它默认返回 302)。应将其改为 301 或 308。