以下是常见 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
通过此表格可快速定位问题方向,结合日志和工具进一步分析具体原因。