4xx 该怎么速判
4xx 表示问题出在请求侧,但同一码点在不同链路位置含义并不完全一致:400 报文格式错、401 未认证、403 被禁止、404 不存在、408 请求超时、429 被限流。判断时除了码点本身,还要看是谁生成的——网关生成的 4xx 与源站生成的往往格式不同。把码点、生成方、URI 特征三项结合起来,才能把方向收敛到客户端、鉴权、路由或限流中的某一类。
基本信息
| 适用平台 | Wireshark / tshark 解析的 HTTP 明文流量 |
|---|---|
| 过滤字段 | http.response.code |
| 范围写法 | http.response.code >= 400 && http.response.code < 500 |
| 辅助线索 | Server 头、响应体格式、URI 特征 |
典型使用场景
- 接口报大量失败,先按码点分组再决定排查方向
- 确认 404 激增来自版本回退还是扫描行为
- 核对 429 的触发节奏与限流策略是否匹配
- 区分鉴权失败与权限不足两类 4xx 的处理路径
- 在灰度发布后对比新旧版本接口的码点分布
- 为客户端重试策略提供依据:哪些码点值得重试
常用过滤
常用过滤
http.response.code >= 400 && http.response.code < 500 # 全部 4xx
http.response.code == 404 # 不存在
http.response.code == 429 # 被限流
http.response.code == 403 && http.request.uri contains "/api"
# 结合 Server 头区分网关生成与源站生成
# 结合 URI 特征区分正常业务错误与扫描流量码点逐项读法
| 码点 | 含义 | 优先核查 |
|---|---|---|
| 400 | 请求格式错误 | 请求体格式、编码与必填字段 |
| 401 | 未认证 | 凭证是否携带、是否过期 |
| 403 | 被禁止访问 | 权限策略、来源限制与路径规则 |
| 404 | 资源不存在 | 路由配置、版本兼容与扫描流量 |
| 408 | 请求超时 | 客户端发送节奏与中间设备超时 |
| 429 | 请求过多 | 限流阈值与客户端重试节奏 |
429 通常带重试时间提示头,客户端若忽略该提示持续请求,会把限流状态一直维持下去。
404 突然增多先看 URI 特征:集中在同一前缀多为路由或版本问题,分散且带特征串则更像扫描。
排查前先按客户端分组统计同一码点的分布:只有单个客户端或单个版本异常时,方向更可能落在该客户端的实现上,而不是服务端整体策略。