它们都是
表示 重定向 的 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 兜底