平时遇到的错误码及场景?404?400?502?都是什么场景下什么含义,该怎么做 ?

发布于:2025-07-27 ⋅ 阅读:(15) ⋅ 点赞:(0)

✅ 一、常见 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 获取详细错误提示(如果有返回)

✅ 三、错误码排查思路(面试时这样回答)

遇到错误码问题时,我会按以下几个维度排查定位:

  1. 确认接口地址是否正确(URL、Method、Header)
  2. 请求参数是否规范(字段是否缺失、类型是否正确)
  3. 是否为环境或服务配置问题(404、502 可优先排查)
  4. 查看接口响应体中的 message 字段或错误码子码
  5. 如服务端错误则查看服务日志、访问日志定位问题根源

在实习过程中,比如我曾遇到 400 错误,是因为请求中 activityId 字段写成了 acivityId,导致后端校验失败。也遇到 502,是因为换包环境配置错了网关路径,后端服务未注册到网关。


✅ 四、实习答题建议(模板)

在实习中,我经常遇到一些常见 HTTP 错误码:

  • 400 多为请求参数错误或 JSON 格式问题;
  • 404 是路径写错或接口未上线;
  • 502、503 一般是部署时服务未启动或网关转发失败;
  • 500 是后端抛异常;

网站公告

今日签到

点亮在社区的每一天
去签到