以下是常见 HTTP 错误状态码及其解决方案的对比表格,按客户端(4xx)和服务端(5xx)分类:
HTTP 错误码对比表
一、客户端错误(4xx)
状态码 |
含义 |
常见原因 |
解决方案 |
400 |
Bad Request |
请求参数格式错误、缺失必填参数 |
检查参数格式,验证输入合法性 |
401 |
Unauthorized |
未携带有效 Token 或认证失败 |
添加 Authorization 头,重新登录 |
403 |
Forbidden |
权限不足、IP/Referer 限制 |
检查用户权限,调整防火墙规则 |
404 |
Not Found |
URL 路径错误、资源不存在 |
检查 URL 和路由配置 |
405 |
Method Not Allowed |
HTTP 方法不支持(如 GET 调用 POST 接口) |
使用正确的 HTTP 方法 |
408 |
Request Timeout |
客户端未及时发送完整请求 |
优化请求逻辑,增大超时时间 |
409 |
Conflict |
资源冲突(如重复创建) |
检查数据唯一性,使用乐观锁 |
413 |
Payload Too Large |
请求体过大(如文件上传超限) |
压缩数据,调整服务器 client_max_body_size |
415 |
Unsupported Media Type |
Content-Type 类型不支持 |
修改请求头的 Content-Type |
429 |
Too Many Requests |
请求频率超限 |
降低频率,调整限流策略 |
二、服务端错误(5xx)
状态码 |
含义 |
常见原因 |
解决方案 |
500 |
Internal Server Error |
代码未捕获异常、数据库连接失败 |
查看日志,修复代码逻辑 |
501 |
Not Implemented |
请求方法未实现(如不支持 PATCH) |
确认接口是否实现,更新服务版本 |
502 |
Bad Gateway |
反向代理无法连接后端服务 |
检查后端服务状态,修复代理配置 |
503 |
Service Unavailable |
服务器过载或主动维护 |
扩容资源,恢复服务可用性 |
504 |
Gateway Timeout |
后端响应超时(如慢查询) |
优化后端性能,调整代理超时设置 |
507 |
Insufficient Storage |
磁盘空间不足 |
清理磁盘或扩容存储空间 |
通用排查步骤
- 客户端检查
- 确认 URL、请求方法、参数、请求头是否合法。
- 使用工具(如
curl -v
、Postman)验证请求格式。
- 服务端检查
- 查看日志(Nginx、应用日志)定位错误根源。
- 监控服务器资源(CPU、内存、磁盘、网络)。
- 网络检查
- 使用
ping
、telnet
测试网络连通性。
- 检查防火墙、安全组规则是否放行端口。
高频错误速查
场景 |
优先检查的 HTTP 状态码 |
接口返回空白/异常数据 |
500、502、504 |
页面无法加载(白屏) |
404、403 |
上传文件失败 |
413、400 |
频繁提示登录失效 |
401、403 |
服务间歇性不可用 |
503、502 |
工具推荐
- 调试工具:
curl -v
、Postman、浏览器开发者工具
- 日志分析:ELK(Elasticsearch + Logstash + Kibana)、Sentry
- 网络诊断:Wireshark、
traceroute
、netstat
通过此表格可快速定位问题方向,结合日志和工具进一步分析具体原因。