浏览器或客户端每发起一次 HTTP 请求,服务器都会在响应行里返回一个三位数字状态码, 用来概括本次处理结果。先掌握「大类」,再记常用码,排障会快很多。
1. 五大类(记首位数字)
- 1xx(信息):请求已接收,处理继续。日常浏览较少直接见到。
- 2xx(成功):请求被理解并接受。
200常表示成功返回所请求资源。 - 3xx(重定向):需进一步操作,常见为跳转到新 URL。
- 4xx(客户端错误):请求本身有问题或无权访问,多需改请求或鉴权。
- 5xx(服务器错误):服务器未能完成合法请求,多为服务端故障或配置问题。
2. 常见码速览
- 301 / 302:永久或临时重定向;SEO 与缓存策略上意义不同,配置时需区分。
- 304 Not Modified:资源未修改,可配合缓存验证减少传输。
- 400 Bad Request:语法或参数不被服务器接受。
- 401 / 403:未认证 / 已认证但无权限,二者常被混用,接口文档应写清。
- 404 Not Found:路径或资源不存在(也可能是故意隐藏)。
- 429 Too Many Requests:触发限流;应退避重试或降低频率。
- 500 / 502 / 503:内部错误、网关坏链路、服务不可用等,需查服务端与上游。
具体语义以 RFC 9110 等现行规范及所用框架文档为准;不同 API 可能对同一码附加自定义消息体。
3. 排障时的用法
先确认是 4xx 还是 5xx:前者多看 URL、Header、Token、请求体;后者多看应用日志、反向代理与上游健康状态。 配合响应体中的错误信息与请求 ID,可缩短定位时间。