重定向检查器
检查HTTP重定向链和状态码
如何使用重定向检查器
- 1输入要测试的源 URL 与期望的最终目标地址。
- 2输入所需请求头,如 User-Agent 或 Authorization。
- 3查看完整的重定向链与最终 HTTP 状态码。
追踪 HTTP 重定向
链 = URL0 →(301/302) URL1 →(...) → URLn(状态码)重定向链会增加延迟,若某个链接经过多次跳转才到达规范页,可能破坏分析数据或 SEO。
单次干净的 301 最能保留链接权重;多跳链会稀释权重并拖慢用户的首字节时间。
301 和 302 的区别不只是「永久 vs 临时」:**301 会把页面权重(SEO 的 PageRank 概念)传递给新地址,302 不会**。所以网站改版、换域名必须用 301,用 302 会导致搜索引擎继续索引旧地址、权重无法迁移。另外 301 会被浏览器永久缓存,一旦配错,用户即使服务端已修正也可能一直跳转——**测试 301 时务必用无痕窗口或 curl,避免被本地缓存误导。**
**重定向链是性能和 SEO 的隐形杀手**:A→B→C 每次跳转都增加一个完整 RTT,3 次跳转可能增加数百毫秒;搜索引擎对超过 3 跳的链条会降低抓取效率甚至放弃。常见成因:HTTP→HTTPS 一次、非 www→www 一次、目录加斜杠一次、小写化一次。解决方法是**在边缘节点(CDN/反向代理)一次性完成所有规范化**,用单条规则直接跳到最终地址。
| 状态码 | 含义 | 是否保留方法 | 是否可缓存 | 典型用途 |
|---|---|---|---|---|
| 301 | 永久重定向 | 多数改为 GET | 可缓存 | 域名迁移、HTTP→HTTPS |
| 302 | 临时重定向 | 多数改为 GET | 不缓存 | 临时维护、A/B 测试 |
| 307 | 临时重定向 | 严格保留 | 不缓存 | 需保留 POST 的临时跳转 |
| 308 | 永久重定向 | 严格保留 | 可缓存 | 需保留 POST 的永久跳转 |
| 303 | See Other | 改为 GET | 不缓存 | POST 后跳转到结果页 |
| meta refresh | HTML 级跳转 | — | — | 不推荐,SEO 效果差 |
HTTP 重定向状态码区别
常见问题
301 还是 302,怎么选?
永久迁移用 301 以传递 SEO 权重;临时或 A/B 测试用 302。
为何要避免重定向链?
每跳都增加往返,且可能丢失来源数据与排名信号。
重定向应等待多久?
重定向应即时(不延迟响应体),浏览器会立即跟随。
重定向循环怎么排查?
典型场景:HTTPS 站点在 CDN 后面,CDN 用 HTTP 回源,源站又要求 HTTPS,于是无限循环。排查步骤:① 用 curl -I -L 追踪完整跳转链;② 检查是否有多层重定向(CDN、Nginx、应用层各自配了一条);③ 确认 X-Forwarded-Proto 头是否正确传递,源站是否据此判断协议。修复:让源站只做一次判断,或在 CDN 层统一处理协议规范化。
302 会传递 SEO 权重吗?
传统上不会,但 Google 在 2016 年宣布「把 302 当作提示而非指令」——如果长期保持 302,Google 会自行判断并按 301 处理(传递权重)。不过 Bing、百度等引擎行为不一致,且 302 的语义就是临时。**规范做法仍然是:确定永久迁移就用 301,不要依赖搜索引擎的容错。**短期活动页、A/B 测试才用 302。
