简要辨析 HTTP 重定向状态码 301, 302, 307, 308

213 阅读1分钟

它们都是

表示 重定向 的 HTTP 状态码。

一目了然

状态码临时或永久方法是否稳定
301永久
302临时
307临时
308永久

分类说明

  • 301、302 是老一代状态码,307、308 是新一代状态码
  • 301、302 定义模糊,307、308 定义清晰
  • 301、308 表示永久重定向,302、307 表示临时重定向
  • 301、302 在重定向时,浏览器可能会改变请求方法为 GET,但 307、308 在重定向时,浏览器不会改变请求方法

怎么用

  • 有条件时,尽量用 307、308
  • 需多考虑兼容性的场景(比如底层工具或框架),可用 302 兜底