最近访客

常见错误场景与 HTTP 状态码对应关系详解

在 Web 开发中,前后端交互和接口设计离不开 HTTP 状态码。合理选择状态码,不仅能让前端快速识别问题,还能帮助运维和测试人员定位错误。本文将结合常见的业务场景,总结对应的 HTTP 状态码使用规范。


一、什么是 HTTP 状态码?

HTTP 状态码(HTTP Status Code)是服务器对客户端请求的响应标识。
它由 三位数字组成,第一位数字决定响应的类别:

  • 1xx:信息性(已接收请求,继续处理)

  • 2xx:成功类(请求被成功接收并处理)

  • 3xx:重定向(需要进一步操作以完成请求)

  • 4xx:客户端错误(请求有误)

  • 5xx:服务器错误(请求正确,但服务器处理失败)


二、常见业务场景与推荐状态码

1. 无权限(权限不足)

  • 401 Unauthorized:未认证,例如用户未登录、Token 过期。

  • 403 Forbidden:已认证,但没有访问该资源的权限。

👉 举例:

  • 未登录访问用户资料 → 401

  • 普通用户访问管理员功能 → 403


2. 参数错误

  • 400 Bad Request:请求参数错误或缺少必填项。

  • 422 Unprocessable Entity:语义错误,参数格式正确但内容非法,例如手机号格式错误。

👉 举例:

  • API 传参缺少 id → 400

  • 邮箱格式错误 → 422


3. 数据不存在

  • 404 Not Found:资源不存在或 ID 无效。

  • 204 No Content:请求成功,但没有数据返回。

👉 举例:

  • 查询一个不存在的文章 ID → 404

  • 请求文章列表但数据库为空 → 204


4. 页面不存在

  • 404 Not Found:请求的页面或接口路径不存在。

👉 举例:

  • 输入错误的 URL 路径 /abc → 404


5. 状态错误(业务逻辑不符合)

  • 409 Conflict:资源冲突,例如重复提交、订单状态冲突。

  • 423 Locked:资源被锁定,不可操作。

  • 400 Bad Request:业务状态错误时也常用。

👉 举例:

  • 已支付的订单再次支付 → 409

  • 文件被锁定无法下载 → 423


6. 服务器错误

  • 500 Internal Server Error:通用型服务端错误。

  • 502 Bad Gateway:网关错误,通常是代理服务器无法获得有效响应。

  • 503 Service Unavailable:服务器暂时超载或维护。


三、推荐返回状态码规范表

场景 状态码 含义说明
请求成功 200 请求处理成功
成功但无数据 204 请求成功,但无返回内容
未登录/认证失败 401 需要认证或 Token 过期
无权限 403 已认证但无权访问
参数缺失/错误 400 请求无效,参数错误
参数语义错误 422 参数格式正确但内容非法
数据不存在 404 资源未找到
页面不存在 404 请求页面或接口不存在
资源冲突 409 状态冲突或重复操作
资源被锁定 423 资源被占用或锁定
服务器错误 500 服务端未知错误
网关错误 502 代理/网关无效响应
服务不可用 503 服务器过载或维护

四、总结

合理使用 HTTP 状态码,可以让接口语义更加清晰,前端和后端的协作更高效。

  • 4xx 用于客户端错误:提醒调用方修改请求。

  • 5xx 用于服务器错误:提醒开发者排查后端问题。

  • 2xx 用于成功请求:保持返回结果的统一性。

建议在团队中制定一份统一的 状态码规范表,并在 API 文档中明确说明,这样可以大幅减少沟通成本。

温馨提示: 本文最后更新于2025-09-08 17:08:12,若文章内容或图片失效,请留言或联系站长反馈!
本站资源均仅供学习和研究使用,请在下载后24小时内删除!
© 版权声明
THE END
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容