在 HTTP 协议中,301 和 302 都是重定向状态码,主要区别在于语义深度缓存策略SEO 影响

一、核心定义

  • 301 Moved Permanently (永久重定向):资源已永久移动。浏览器会强缓存重定向结果,SEO 权重会转移至新 URL。
  • 302 Found (临时重定向):资源暂时移动。浏览器默认不缓存,SEO 权重保留在旧 URL。

二、关键维度对比

特性301 (永久重定向)302 (临时重定向)
重定向性质永久性转移 (Permanent)临时性转移 (Temporary)
浏览器缓存强缓存 (甚至无需网络)默认不缓存
SEO 权重转移至新 URL保留在旧 URL
工程纠错极难 (需用户清理缓存)极易 (随时撤销)

三、延伸:303 与 307

为了解决浏览器在 302 重定向时可能将 POST 误改为 GET 的歧义,HTTP 1.1 引入了:

  • 303 See Other:明确强制重定向后使用 GET。常用在“提交订单后跳转到成功页”。
  • 307 Temporary Redirect:严格不允许修改请求方法。若原请求是 POST,重定向后仍必须是 POST。

总结

301 是 “搬家”,户口也迁走;302 是 “出差”,过两天还回来。域名迁移用 301,临时维护用 302。