平时遇到的错误码及场景?404?400?502?都是什么场景下什么含义,该怎么做 ?
✅ 一、常见 HTTP 错误码及含义
状态码 | 含义简述 | 类型 |
400 | Bad Request:请求格式有误 | 客户端错误 |
401 | Unauthorized:未授权 | 客户端错误 |
403 | Forbidden:禁止访问 | 客户端错误 |
404 | Not Found:资源不存在 | 客户端错误 |
405 | Method Not Allowed:方法不允许 | 客户端错误 |
408 | Request Timeout:请求超时 | 客户端错误 |
429 | Too Many Requests:请求过多 | 客户端错误 |
500 | Internal Server Error:服务器内部错误 | 服务端错误 |
502 | Bad Gateway:网关错误(如 Nginx 接上游服务失败) | 服务端错误 |
503 | Service Unavailable:服务不可用 | 服务端错误 |
504 | Gateway Timeout:网关超时 | 服务端错误 |
✅ 二、常见错误码及触发场景示例
🔸 400 Bad Request
- 含义:请求语法有误、参数格式错误
- 常见场景:
- 接口传参缺失必填字段
- 参数类型错误(如 ID 本应为 int 但传了 string)
- JSON 格式不规范(少了逗号、引号等)
- 应对方法:
- 检查请求体结构是否符合接口文档
- 使用 Postman/Charles 格式化请求
- 后端可补充返回字段名错误信息
🔸 404 Not Found
- 含义:访问路径错误,资源不存在
- 常见场景:
- 请求 URL 写错(拼写、大小写敏感)
- 访问了一个已下线/未上线的接口
- 版本号错误(如
/api/v2/...
实际是/api/v1/...
)
- 应对方法:
- 确认接口地址是否准确(参考文档)
- 与后端确认接口是否发布上线
- 确认环境是否一致(测试服?预发布服?)
🔸 502 Bad Gateway
- 含义:Nginx/Gateway 作为中间层,连接上游服务失败
- 常见场景:
- 接口后端服务崩溃/重启中
- 网关配置错误或转发超时
- 应对方法:
- 用 curl/postman 等尝试直连服务 IP/端口,排查是否网关问题
- 通知后端/运维检查 upstream 配置、查看服务日志
🔸 503 Service Unavailable
- 含义:服务暂时不可用(通常服务下线或过载)
- 常见场景:
- 服务部署中、重启中
- 被限流、服务端熔断
- 应对方法:
- 检查是否发布期间
- 查看服务健康检查日志
- 若为限流,建议增加重试机制或节流访问
🔸 500 Internal Server Error
- 含义:后端服务器代码运行出错
- 常见场景:
- 程序未处理空指针、数据库异常等
- 请求数据格式正确但后端逻辑崩溃
- 应对方法:
- 查看后端日志定位异常
- 可通过返回字段 message 获取详细错误提示(如果有返回)
✅ 三、错误码排查思路(面试时这样回答)
遇到错误码问题时,我会按以下几个维度排查定位:
- 确认接口地址是否正确(URL、Method、Header)
- 请求参数是否规范(字段是否缺失、类型是否正确)
- 是否为环境或服务配置问题(404、502 可优先排查)
- 查看接口响应体中的 message 字段或错误码子码
- 如服务端错误则查看服务日志、访问日志定位问题根源
在实习过程中,比如我曾遇到 400 错误,是因为请求中 activityId
字段写成了 acivityId
,导致后端校验失败。也遇到 502,是因为换包环境配置错了网关路径,后端服务未注册到网关。
✅ 四、实习答题建议(模板)
在实习中,我经常遇到一些常见 HTTP 错误码:
- 400 多为请求参数错误或 JSON 格式问题;
- 404 是路径写错或接口未上线;
- 502、503 一般是部署时服务未启动或网关转发失败;
- 500 是后端抛异常;