HTTP 状态码
HTTP Status Code
中级通用HTTP 状态码(HTTP Status Code)是服务器在 HTTP 响应中给出的三位数字,用来说明这次请求的处理结果。你做登录接口时,前端可以据此区分请求成功、需要登录和服务器出错。
你可能会说:「我想让前端知道接口请求是成功、需要登录,还是服务器出了问题,该怎么约定?」
读之前建议先了解
动手看看查看订单时的三种结果
1
先看正常场景:用户打开订单页,前端带着登录凭证请求订单列表,等待服务器给出处理结果。
要点HTTP 状态码能告诉你什么?
- 1
它属于服务器返回的响应
你向接口发出请求后,服务器会在响应中带上状态码。前端可以先看这个数字,决定继续处理数据、跳转登录页,还是显示错误提示;不必只靠响应正文里的文字猜结果。
- 2
先看开头数字判断大类
2xx 通常表示请求已成功处理,3xx 表示还要按响应信息转向别处,4xx 表示请求这边有问题,5xx 表示服务器处理时出了问题。比如请求一条不存在的记录,通常会得到 404。
- 3
状态码要与实际结果一致
如果保存失败,接口却返回 200,再把错误写进正文,前端和监控就可能把它当成成功请求。状态码先表达 HTTP 层面的结果;具体哪个字段填错了,再由响应正文补充。
容易混淆的地方
HTTP 方法说的是你想做什么,例如 GET 用来获取数据;状态码说的是服务器怎样回应这次请求。它也不同于接口自定义的业务错误码:后者可以细分“余额不足”等产品规则。另外,如果请求根本没收到 HTTP 响应,例如连接中断,就没有可读取的 HTTP 状态码。
什么时候用
适合用
- 做登录接口时,用状态码区分成功、未登录和已登录但无权访问,让前端采取不同操作。
- 做商品详情接口时,请求的商品不存在,可以返回 404,让页面显示找不到内容。
- 排查接口故障时,按 4xx 和 5xx 分组查看请求,先判断问题更可能出在请求还是服务端。
不适合用
- 只是切换弹窗开关、按钮选中态这类前端本地交互,不涉及 HTTP 响应,用组件状态表示即可。
- 用户还没提交表单,只是在输入时检查必填项,不需要 HTTP 状态码;用前端校验反馈更直接。
- 请求因断网而没有收到服务器响应时,别给它硬套状态码;把它作为网络错误单独处理。
练一练选一个答案,看看解释
你在做后台管理页。用户未登录就请求订单列表,服务器发现请求里没有有效登录凭据。哪种响应更适合让前端判断下一步?
让 AI 帮你做复制给 AI Agent 直接用
请检查订单列表接口的 HTTP 状态码:成功返回 200,未登录返回 401,已登录但无权查看返回 403,服务器处理失败返回 5xx。前端分别处理正常展示、引导登录、提示无权限和提示稍后重试;不要把失败统一包装成 200。