301 / 302 / 308 的区别,以及 CF Pages 的 pretty URL 陷阱
| 码 | 含义 | 浏览器行为 | 缓存 |
|---|---|---|---|
| 301 | 永久移动 | 永久改写地址栏 | 强缓存 |
| 302 | 临时移动 | 地址栏变,但下次仍走原地址 | 不缓存 |
| 308 | 永久重定向(保留方法) | 同 301,但 POST 等方法也保留 | 强缓存 |
域名/路径永久换地方 → 301。
临时跳转(A/B 测试、维护页)→ 302。
307/308 保留 HTTP 方法,API 重定向用它们。
点下面几个,看地址栏怎么变:
/lab/go-301 → 301 → /lab/redirects.html
/lab/go-302 → 302 → /lab/redirects.html
/lab/go-308 → 308 → /lab/redirects.html
/lab/go-301-302 → 301 → 302 → 展示跳转链
访问 /lab/redirects.html —— 注意实际会先 308 到 /lab/redirects:
$ curl -I https://maymproject.pages.dev/lab/redirects.html
HTTP/2 308
location: /lab/redirects
这是 CF Pages 默认行为(把 .html 藏起来,URL 更干净)。
影响:做 _headers 路径规则时要写重定向之后的路径,否则不生效。