HTTP 状态码大全
共收录 62 个 HTTP 状态码,按 1xx ~ 5xx 分类列出中文含义、英文名称与常见场景 / 排查建议。支持关键词搜索与按类别筛选,点击状态码即可复制。内容整理自 RFC 9110 等标准,全部为静态数据、在浏览器本地展示,不需要联网。
1xx 信息响应
表示请求已被接收,需要请求方继续操作,多为临时响应,浏览器一般不会直接展示。
| 状态码 | 名称 | 含义 | 常见场景 / 排查 |
|---|---|---|---|
继续 Continue | 服务器已收到请求头,客户端可继续发送请求体。 | 常见于「Expect: 100-continue」的大文件上传协商,一般无需人工处理。 | |
切换协议 Switching Protocols | 服务器同意按 Upgrade 头切换到新协议(如 WebSocket)。 | WebSocket 握手成功时会返回 101,属于正常现象。 | |
处理中 Processing | 服务器已收到并正在处理请求,但尚无结果。 | WebDAV 场景使用,用于避免客户端等待超时。 | |
早期提示 Early Hints | 在最终响应前先返回部分响应头,便于提前预加载资源。 | 配合 Link 头做 preload/preconnect,可提升首屏速度。 |
2xx 成功
请求已被成功接收、理解并处理。
| 状态码 | 名称 | 含义 | 常见场景 / 排查 |
|---|---|---|---|
成功 OK | 请求成功,响应体包含结果数据。 | 最常见的成功响应;GET/POST 默认返回。 | |
已创建 Created | 请求成功并创建了新资源,响应通常带 Location 头指向新资源。 | RESTful 接口新增资源的标准响应。 | |
已接受 Accepted | 请求已接受但尚未处理完成,常用于异步任务。 | 适合耗时任务:先返回任务 id,再由客户端轮询结果。 | |
非授权信息 Non-Authoritative Information | 返回的元信息可能来自缓存副本,而非源服务器。 | 少见,多出现在代理转换响应时。 | |
无内容 No Content | 请求成功但不返回实体内容,常用于删除或更新操作。 | 响应体必须为空;用于 DELETE、保存成功等只需状态不需要数据的场景。 | |
重置内容 Reset Content | 要求客户端重置文档视图(如表单清空)。 | 少见,可替代「提交后清空表单」。 | |
部分内容 Partial Content | 返回资源的某一段内容,配合 Range 头实现分片下载。 | 视频拖动进度、断点续传依赖此状态码,需同时返回 Content-Range。 | |
多重状态 Multi-Status | 响应体包含多个独立操作的状态,用于批量请求结果。 | WebDAV 批量操作使用,XML 响应体逐项报告结果。 | |
已报告 Already Reported | 同一集合中的成员已在前面响应中报告过,避免重复。 | WebDAV 场景,配合 207 使用。 | |
已使用实例操纵 IM Used | 服务器已完成对资源的实例操纵,响应是操作结果。 | 极其少见,用于 delta 编码场景。 |
3xx 重定向
需要客户端进一步操作才能完成请求,通常跳转到新地址。
| 状态码 | 名称 | 含义 | 常见场景 / 排查 |
|---|---|---|---|
多种选择 Multiple Choices | 请求的资源有多个可选表示,客户端需自行选择。 | 少见;通常用 301/302 直接跳转更明确。 | |
永久移动 Moved Permanently | 资源已永久迁移到新地址,客户端后续应使用新地址。 | 换域名、改路径时用它;搜索引擎会把权重转移到新地址。 | |
临时移动 Found | 资源临时位于其他地址,后续请求仍应使用原地址。 | 临时跳转(如登录后跳转)用它;长期跳转勿用,避免影响收录。 | |
查看其他位置 See Other | 请用 GET 方法去另一个地址获取结果。 | POST 提交后跳转展示结果页、避免刷新重复提交时的推荐写法。 | |
未修改 Not Modified | 资源未变化,客户端可直接使用本地缓存。 | 配合 ETag / Last-Modified 协商缓存;响应体为空属正常。 | |
使用代理 Use Proxy | 请求必须通过指定代理访问。 | 因安全原因已弃用,不应再实现。 | |
临时重定向 Temporary Redirect | 临时跳转到新地址,且要求保持原请求方法。 | 与 302 的区别是不允许把 POST 改成 GET。 | |
永久重定向 Permanent Redirect | 永久跳转到新地址,且要求保持原请求方法。 | 与 301 的区别同 307/302;需要保留方法与请求体时用它。 |
4xx 客户端错误
请求本身有问题:参数错误、无权限、资源不存在或触发限制。
| 状态码 | 名称 | 含义 | 常见场景 / 排查 |
|---|---|---|---|
请求错误 Bad Request | 请求语法错误或参数不合法,服务器无法理解。 | 检查参数格式、必填项、JSON 是否能解析。 | |
未授权 Unauthorized | 请求需要身份认证,或凭证无效 / 已过期。 | 检查是否携带 Token、Token 是否过期;与 403 的区别是「未认证」。 | |
需要付费 Payment Required | 预留状态码,部分服务用于表示需付费或余额不足。 | 少数云服务用它表示欠费。 | |
禁止访问 Forbidden | 服务器理解请求但拒绝执行,身份通常已认证但无权限。 | 检查权限配置、IP 白名单、防盗链规则;与 401 的区别是「无权限」。 | |
未找到 Not Found | 请求的资源不存在。 | 检查 URL 拼写、路由配置;静态站注意大小写与尾斜杠。 | |
方法不允许 Method Not Allowed | 请求方法不被目标资源支持。 | 看 Allow 响应头确认该接口支持哪些方法(如只允许 GET)。 | |
不可接受 Not Acceptable | 无法按请求的 Accept 头生成可接受的响应。 | 内容协商失败,检查 Accept / Accept-Language 头。 | |
需要代理认证 Proxy Authentication Required | 需要先通过代理服务器认证。 | 企业网络代理场景常见。 | |
请求超时 Request Timeout | 服务器等待请求的时间过长,主动关闭连接。 | 客户端网络慢或请求体未发完;可重试。 | |
冲突 Conflict | 请求与资源当前状态冲突,如并发编辑、唯一键重复。 | 常见于乐观锁、用户名已存在、重复提交。 | |
已删除 Gone | 资源已永久删除且不再可用。 | 对已下架内容返回 410 比 404 更明确,利于搜索引擎移除索引。 | |
需要内容长度 Length Required | 请求缺少 Content-Length 头,服务器拒绝处理。 | 少见,多出现在手工构造请求时。 | |
前置条件失败 Precondition Failed | 请求头中的条件(If-Match 等)未满足。 | 并发控制场景,配合 ETag 使用。 | |
请求体过大 Content Too Large | 请求体超过服务器允许的大小限制。 | 调整上传大小限制或压缩、分片上传。 | |
URI 过长 URI Too Long | 请求的地址长度超过服务器允许范围。 | GET 参数过多导致;改用 POST 传参。 | |
不支持的媒体类型 Unsupported Media Type | 请求体的格式不被支持。 | 检查 Content-Type(如是否漏写 application/json)。 | |
范围不可满足 Range Not Satisfiable | 请求的 Range 范围无效或超出资源大小。 | 分片下载时检查 Range 起点与文件总大小。 | |
期望失败 Expectation Failed | Expect 请求头中的期望无法被满足。 | 少见。 | |
我是茶壶 I'm a teapot | 愚人节玩笑状态码,也被部分项目用作彩蛋。 | 非标准;爬虫或反爬场景偶见。 | |
请求被错误定向 Misdirected Request | 请求被发送到无法生成响应的服务器。 | HTTP/2 连接复用与 SNI 不匹配时可能出现。 | |
无法处理的实体 Unprocessable Entity | 请求格式正确但语义错误,无法处理(如字段校验不通过)。 | 表单 / 接口参数校验失败常用;注意前端要展示具体字段错误。 | |
已锁定 Locked | 资源被锁定,无法访问或修改。 | WebDAV 场景。 | |
依赖失败 Failed Dependency | 因前一个请求失败导致当前请求失败。 | 批量操作中,前置步骤失败会影响后续。 | |
过早 Too Early | 服务器不愿处理可能被重放的请求。 | 防重放攻击场景使用。 | |
需要升级 Upgrade Required | 要求客户端升级到其他协议(如强制 HTTPS/TLS)。 | 部分服务用它引导客户端升级协议版本。 | |
需要前置条件 Precondition Required | 要求请求带上条件头,防止并发更新丢失。 | 配合 412、ETag 实现乐观锁。 | |
请求过多 Too Many Requests | 单位时间内请求次数超过限流阈值。 | 看 Retry-After 头决定重试等待时间;降低频率或加退避重试。 | |
请求头字段过大 Request Header Fields Too Large | 请求头总大小超过服务器限制。 | Cookie 过大是常见原因,精简 Cookie 或改用 Token。 | |
因法律原因不可用 Unavailable For Legal Reasons | 因法律要求无法提供该资源。 | 内容下架、地域限制场景使用。 |
5xx 服务器错误
服务器在处理请求时发生错误,通常是服务端问题,可重试或联系运维。
| 状态码 | 名称 | 含义 | 常见场景 / 排查 |
|---|---|---|---|
服务器内部错误 Internal Server Error | 服务器遇到未预期的错误,无法完成请求。 | 看服务端日志定位异常堆栈,通常是代码或依赖故障。 | |
未实现 Not Implemented | 服务器不支持所请求的功能。 | 接口尚未实现,或方法不被支持。 | |
网关错误 Bad Gateway | 作为网关或代理的服务器从上上游收到无效响应。 | 后端服务挂了或响应超时;检查后端进程与反向代理配置。 | |
服务不可用 Service Unavailable | 服务器暂时无法处理请求(过载或维护)。 | 看 Retry-After;常因并发过高被限流或正在发版。 | |
网关超时 Gateway Timeout | 网关等待上游响应超时。 | 后端处理过慢或网络不通;排查慢查询、外部依赖。 | |
HTTP 版本不受支持 HTTP Version Not Supported | 服务器不支持请求使用的 HTTP 协议版本。 | 少见,检查客户端协议版本。 | |
变体也在协商 Variant Also Negotiates | 服务器存在内容协商配置错误。 | 配置问题,通常需运维排查。 | |
存储空间不足 Insufficient Storage | 服务器无法存储完成请求所需的内容。 | 磁盘满或配额用尽。 | |
检测到循环 Loop Detected | 服务器在处理请求时检测到无限循环。 | WebDAV 场景。 | |
未扩展 Not Extended | 需要对请求进一步扩展才能完成。 | 少见。 | |
需要网络认证 Network Authentication Required | 客户端需要先完成网络认证(如连接 Wi-Fi 门户)。 | 公共 Wi-Fi 登录页常见。 |
使用说明
把 1xx–5xx 全部标准 HTTP 状态码整理成一张可搜索的对照表,逐条给出中文含义、英文名称与常见场景/排查建议;点击状态码即可复制。全部为静态数据,页面在浏览器本地展示,不需要联网。
- 用顶部搜索框输入状态码数字、英文名或场景关键词(如 404、timeout、鉴权、限流),表格会实时筛选。
- 也可以点分类按钮只看某一类:1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务器错误。
- 「含义」列说明状态码本身的定义,「常见场景 / 排查」列给出接口调试时该检查什么。
- 点击状态码数字即可复制,粘到工单、文档或聊天里定位报错。
常见问题
- 401 和 403 有什么区别?
- 401 是「未认证」,通常表示没带凭证或 Token 已过期,需要先登录;403 是「已认证但无权限」,身份有效但当前账号不允许访问该资源。排查时先看是否带了凭证,再看权限配置。
- 301 和 302 有什么区别?该用哪个?
- 301 是永久重定向,搜索引擎会把权重转移到新地址,适合换域名、改永久路径;302 是临时重定向,后续仍应访问原地址,适合登录后跳转等临时场景。用错会把临时跳转的权重也转移走。
- 为什么我的接口返回 429?
- 表示单位时间内请求次数超过限流阈值。先看响应头里的 Retry-After 决定等待多久再重试,并给客户端加退避重试、降低并发;服务端可检查限流阈值是否设置过低。
- 502、503、504 哪个能重试?
- 502(网关错误)、503(服务不可用)、504(网关超时)通常是服务端暂时问题,可稍后重试;429 需按 Retry-After 等待后再试;4xx 里的 400、401、403、404 属于请求本身问题,直接重试没用,要先修正请求。