常见 HTTP 状态码分别表示什么?
未标记
考查重点:状态码语义与故障层次。2xx 成功、3xx 重定向/验证、4xx 请求未接受、5xx 服务端失败;举401/403和502/503/504区分故障层
本题目录
参考答案
核心回答
HTTP 状态码用三位数字说明服务器对请求的处理结果,首位分为 1xx 信息响应、2xx 成功、3xx 重定向或缓存验证、4xx 请求未被接受、5xx 服务端无法完成请求。常见的几个代码分别是:
401 Unauthorized:请求缺少有效的身份认证凭据,包括未提供、失效或无效的凭据。按HTTP认证规范,响应应包含适用的WWW-Authenticate挑战。403 Forbidden:服务器理解请求,但拒绝执行。已登录却无权限是常见原因,也可能来自访问控制策略,不能只理解为“没有登录”。404 Not Found:目标资源没有找到当前表示,或服务器不愿披露它是否存在。它不直接说明资源是暂时缺失还是永久删除。500 Internal Server Error:服务器遇到意外情况,无法完成请求,例如未妥善处理的程序异常。502 Bad Gateway:作为网关或代理的服务器,从上游获得了无效响应。503 Service Unavailable:服务暂时无法处理请求,常见于过载或维护;响应可以用Retry-After建议等待时间。504 Gateway Timeout:网关或代理没有及时获得完成请求所需的上游响应。
可以用一句话区分常见 5xx:500 是处理时遇到意外错误,502 是代理没有获得有效的上游响应,503 是暂时无法服务,504 是等待上游超时。具体原因仍需结合返回该状态的节点与日志判断。
5xx 放到调用链里怎样理解
假设请求经过客户端、网关和业务服务。业务服务执行代码时抛出未处理异常,可能直接返回 500;网关与上游连接或协议交互异常,可能返回 502;服务过载或正在维护,可能返回 503;网关等待业务服务超过期限,可能返回 504。
同样的状态也可能由 CDN、负载均衡、其他代理或业务服务产生。看到 502 不能直接判定“应用代码报错”;看到 504 也不能直接断言“SQL 慢”。应先关联请求标识,核对网关与上游的状态、连接与响应耗时、错误日志和健康状态。
上游返回一个合法的 500 响应,并不自动意味着网关应该把它改为 502;网关可以透传该响应。网络断开而根本没有收到 HTTP 响应,也不等于客户端已经收到某个 5xx。
其他常见代码
成功类中,200 OK 表示请求成功,具体返回内容取决于方法;201 Created 表示创建了一个或多个新资源;202 Accepted 表示请求已接受处理,但尚未完成;204 No Content 表示已成功处理,响应没有内容,仍可携带适用的响应头。断点续传等范围请求可能使用 206 Partial Content 返回所请求的部分内容。
重定向中,301 表示永久移动,302 表示临时重定向。若需要重定向后保留原请求方法,应了解 307 与 308 的语义;301、302 对 POST 的历史处理存在方法改写情况。304 Not Modified 用于条件请求的缓存验证,可继续使用已有缓存,不携带响应内容,也不是普通的跳转页面。
其他客户端错误包括:400 Bad Request,请求语法、消息格式或其他请求问题;405 Method Not Allowed,资源不支持该请求方法,响应应通过 Allow 说明支持的方法;409 Conflict,请求与资源当前状态冲突;429 Too Many Requests,请求频率超过限制。它们需要结合具体接口规则处理,不能全部归为服务端程序异常。
常见追问
返回 200,就说明业务已经完成了吗?
还要看接口契约。一个接口可能用 200 返回业务错误码,也可能只说明查询成功;异步任务还需查询最终状态。支付、导出等场景应核对业务结果,不能把“HTTP 请求成功返回”当成整条业务链已经成功。
遇到 503 或 504,重试就行吗?
先判断请求是否可安全重试。503 的 Retry-After 可以提供等待建议,但不是重试次数或最终成功的保证。504 只说明网关未及时拿到响应,上游可能已经执行了操作。查询可结合退避与总超时重试;创建订单、扣款等写请求需要幂等标识或先查原操作状态,避免重复执行。
401、403、404 怎样排查?
401 优先核对凭据、有效期和认证方式;403 检查资源权限、访问控制及相关策略;404 核对路由、路径、资源状态与代理转发配置。状态码给出语义和方向,具体接口的错误体与日志帮助进一步定位。
参考资料
- 国内:JavaGuide:HTTP 常见状态码总结:参考状态码分类与接口场景,组织正文中的五类状态码,并区分 200、201、202、204 等成功响应。
- 国内:腾讯云可观测平台:错误代码手册:采用 HTTP 协议错误码的解释,说明正文中认证、拒绝访问和网关错误的语义,并区分工具自身的网络、超时错误。
- 国内:阿里云 CDN:回源失败排查:借鉴回源链路对 502、503、504 与日志定位的分析,说明正文中状态码语义与实际根因的区别;具体超时配置仍属于产品条件。
- 国外:RFC 9110:HTTP Semantics:依据第 15 节状态语义与第 9.2.2 节幂等重试条件,说明正文中 401 认证挑战、403/404 及各类 5xx 的含义和重试边界。
- 国外:MDN:HTTP response status codes:参考按类别细分的状态码解释,说明正文中 304 的缓存验证语义、202 的受理状态与普通重定向、业务完成的区别。
相关面经
6 篇作业帮
AI 应用开发实习生http状态码了解吗
字节跳动
Agent 开发● HTTP 的常见状态码有哪些?了解 429 是什么吗?
客诺信息技术
后端开发工程师讲一下HTTP中你熟悉的状态码
上海九云数智
大模型应用开发工程师(RAG 方向)Http 中 401,403,404,500,502,503,504 各个含义说说
美团
软件开发工程师HTTP协议的状态码有哪些?5开头的呢?
展开剩余 1 篇面经
百度
Go 后端开发工程师HTTP 常见的返回状态码有哪些?


