ENGINEERING PLAYBOOK
HTTP 状态码分类与排查路径
状态码只是一次 HTTP 交换的结果标签,不能单独说明根因。页面先按类别判断责任边界,再把请求方法、目标 URL、响应头、链路代理和服务日志对应到同一时间窗口,形成可复现证据。
适用人群:需要验证状态码、重定向链和缓存语义的 Web 开发人员
排查路径
- 按 1xx、2xx、3xx、4xx、5xx 确定响应所属阶段。
- 核对请求方法、目标 URL、Host、认证和内容类型。
- 沿客户端、CDN、代理、应用和下游服务逐层定位生成响应的位置。
- 使用请求标识把状态码与服务日志、上游耗时和重试对应。
执行步骤
- 用 curl 保存响应头与正文摘要。
- 对照接口契约确认该方法允许的成功状态。
- 检查重定向 Location 是否为预期主机和路径。
- 对 4xx 先复核输入与权限,对 5xx 再查服务端链路。
- 修复后重复同一请求并增加一个反例。
可复制命令与示例
保存响应头
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