ENGINEERING PLAYBOOK

HTTP 状态码分类与排查路径

状态码只是一次 HTTP 交换的结果标签,不能单独说明根因。页面先按类别判断责任边界,再把请求方法、目标 URL、响应头、链路代理和服务日志对应到同一时间窗口,形成可复现证据。

适用人群:需要验证状态码、重定向链和缓存语义的 Web 开发人员

排查路径

  1. 按 1xx、2xx、3xx、4xx、5xx 确定响应所属阶段。
  2. 核对请求方法、目标 URL、Host、认证和内容类型。
  3. 沿客户端、CDN、代理、应用和下游服务逐层定位生成响应的位置。
  4. 使用请求标识把状态码与服务日志、上游耗时和重试对应。

执行步骤

  1. 用 curl 保存响应头与正文摘要。
  2. 对照接口契约确认该方法允许的成功状态。
  3. 检查重定向 Location 是否为预期主机和路径。
  4. 对 4xx 先复核输入与权限,对 5xx 再查服务端链路。
  5. 修复后重复同一请求并增加一个反例。

可复制命令与示例

保存响应头

curl -sS -D headers.txt -o body.txt https://example.test/path

仅输出关键指标

curl -sS -o /dev/null -w '%{http_code} %{time_total}\n' https://example.test/path

可复现任务记录

具体错误或任务

页面最终显示正常但中间经过多次跳转,搜索蜘蛛和客户端看到的状态链不一致。

失败信号:curl -I 出现 302→301→200 多跳,或错误页返回 200 形成软 404。

最小输入

初始 URL、期望最终 Canonical、浏览器和爬虫相同请求头条件。

验证命令或步骤

curl --silent --show-error --location --head --write-out '%{url_effective} %{http_code}\n' 'https://example.test/old'

预期输出

最多一次必要的永久跳转并落到最终 200 Canonical;不存在软 404。

失败输出

临时跳转循环、多跳主机切换,或不存在内容以 200 返回通用首页。

成功判据

状态码与资源语义一致,普通浏览器和蜘蛛获得同一链路、最终 URL 和正文。

本任务常见错误

  • 只看最终页面忽略中间状态
  • 把不存在内容重定向首页
  • 混用 301、302 与缓存策略

资料与适用边界

状态与重定向语义依据 RFC 9110;搜索处理结果需由平台抓取和日志另行观察。

证据块复核日期:2026-09-04

相关站内页面

资料依据与复核边界

资料复核日期:2026-08-29