← 返回工具箱

HTTP 状态码大全

更新于 2026 年 10 月 · 接口调试遇到怪状态码先来对表

状态码第一位定性:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端的锅、5xx 服务器的锅。排查时先看分组,再看具体码。

1xx 信息性

状态码名称说明
100Continue请求头已收到,客户端可以继续发送请求体。带 Expect: 100-continue 上传大文件时出现。
101Switching Protocols协议切换成功,最常见的是 HTTP 升级为 WebSocket。
103Early Hints主响应还没好,先把要预加载的 CSS/JS 告诉浏览器,提升首屏速度。

2xx 成功

状态码名称说明
200OK请求成功,最常见的状态码。注意:200 只代表 HTTP 层成功,业务错误要看返回体里的 code 字段。
201Created已创建新资源,POST 新建接口的标准返回。
202Accepted已接受但还没处理完,异步任务(导出、转码)常用。
204No Content成功但没有返回体,DELETE 删除接口常用。返回 204 又带 body 是不规范的。
206Partial Content范围请求成功,断点续传、视频拖动进度条靠它。

3xx 重定向

状态码名称说明
301Moved Permanently永久重定向,浏览器会缓存、搜索引擎转移权重。换域名、HTTP→HTTPS 用它。
302Found临时重定向。注意坑:多数浏览器会把重定向后的 POST 改成 GET。
304Not Modified缓存还新鲜,服务器没传 body。调试时看到接口"没更新"先怀疑它,清缓存或强刷验证。
307Temporary Redirect临时重定向,且不改变请求方法和 body,POST 还是 POST。
308Permanent Redirect永久重定向,同样不改变请求方法,是 301 的严格版。

4xx 客户端错误

状态码名称说明
400Bad Request请求本身有问题:参数缺失、JSON 格式错误等。第一反应是查自己传的参数。
401Unauthorized未认证:没登录、token 缺失或已过期。名字虽叫 Unauthorized,实际是"还没验明身份"。
403Forbidden已认证但无权限。和 401 的区别:401 是"你是谁",403 是"知道你是谁,但你不配"。
404Not Found资源不存在:路径写错、id 不存在,或路由没注册。先核对 URL 拼写和环境域名。
405Method Not Allowed路径对但方法不对,比如对只读接口发了 POST。
408Request Timeout客户端发请求太慢,服务器等超时。弱网大文件上传时容易遇到。
409Conflict状态冲突:重复创建唯一资源、版本冲突(乐观锁失败)。
410Gone资源曾存在、已被永久删除,比 404 更明确,SEO 场景用得多。
413Payload Too Large请求体太大,上传文件先查 Nginx 的 client_max_body_size 和网关限制。
422Unprocessable Entity格式对但语义不对,表单校验失败常用它返回字段级错误。
429Too Many Requests被限流了。看响应头 Retry-After,退避后重试,别硬刷。

5xx 服务器错误

状态码名称说明
500Internal Server Error服务器代码出异常了。前端别猜,去查服务端日志堆栈。
501Not Implemented功能没实现,比如用了服务器不支持的方法。
502Bad Gateway网关/反向代理没从上游拿到正常响应:上游挂了、端口不对、进程崩了。先查后端进程在不在。
503Service Unavailable服务暂时不可用:正在重启、过载熔断、维护中。一般是暂时的,过会儿重试。
504Gateway Timeout网关等上游响应超时:上游没挂但处理太慢。和 502 的区别:502 是"答错了/没答",504 是"等太久"。

排查口诀

4xx 先查自己:参数、token、URL、方法,八成是前端或调用方的错。
5xx 先看链路:502 查上游进程,504 查慢接口/慢 SQL,500 查应用日志。
接口"时好时坏"优先想 429(限流)和 503(实例摘除/发版中)。

继续查

Git 命令速查表 →   正则速查表 →