HTTP 状态码大全

1xx 信息、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误,含中文含义与真实触发场景,点击状态码可复制。

共 63 个标准状态码1xx 信息 4 个2xx 成功 10 个3xx 重定向 9 个4xx 客户端错误 29 个5xx 服务端错误 11 个当前显示 63 条

共 63 条

状态码Reason Phrase中文名称含义与常见触发场景
100 Continue 继续 服务器已收到请求头,允许客户端继续发送请求体。常见于大文件上传前的握手(客户端带 Expect: 100-continue),多数情况下客户端不必等待就直接发送正文。
101 Switching Protocols 切换协议 服务器同意按请求头的 Upgrade 切换协议,随后底层连接交给新协议。典型场景是 HTTP 升级为 WebSocket(Upgrade: websocket),以及 h2c 明文升级。
102 Processing 处理中 WebDAV 扩展:请求已接收但尚未完成,为避免超时先给出中间响应。仅在多资源操作里出现,现代服务较少使用(RFC 9110 已弃用)。
103 Early Hints 提前提示 在最终响应之前先返回 Link 头,让浏览器提前预加载 CSS/JS/字体,显著缩短首屏时间。需服务端显式开启,常见于 CDN 与新版框架的 preload 优化。
200 OK 请求成功 最常见的成功响应,请求已按方法语义正确处理,正文即结果。GET 返回资源内容,POST 返回处理结果。
201 Created 已创建 请求成功并新建了资源,响应通常带 Location 头指向新资源地址,常见于 POST 注册、创建订单等接口。
202 Accepted 已受理 请求已接收但处理尚未完成,属于异步语义。常见于消息队列、批量导出、后台任务;最终结果需另行轮询或回调通知。
203 Non-Authoritative Information 非权威信息 响应来自缓存或代理,元数据可能与源服务器不一致。使用较少,代理改写响应体时才会返回。
204 No Content 无内容 请求成功但没有响应体,浏览器保留当前页面。常用于 OPTIONS 预检、仅回执的 PUT/PATCH、无跳转的自动保存。
205 Reset Content 重置内容 要求客户端重置文档视图(清空表单输入)。典型用于提交成功后让表单回到初始状态,比返回页面再跳转更省流量。
206 Partial Content 部分内容 Range 请求成功,只返回指定字节区间,响应带 Content-Range。视频拖动、断点续传、多线程下载都依赖它。
207 Multi-Status 多状态 WebDAV 扩展:一个响应里用 XML 表达多个子操作各自的状态码,常见于 PROPFIND、PROPPATCH 等批量文件操作。
208 Already Reported 已报告 WebDAV 绑定集合扩展:同一资源的重复绑定不再报错,而是告知「此成员已经报告过」,用于避免死循环。
226 IM Used 已使用实例操作 服务器完成了请求中指定的 Delta-Encoding 实例操作(如增量更新),响应体是应用差量后的结果。极少见到。
300 Multiple Choices 多种选择 同一 URI 对应多个表示,服务器给出候选列表由用户/代理挑选。实际很少返回,多数场景改用 301/302 或直接内容协商。
301 Moved Permanently 永久移动 资源永久换新地址,Location 给出新 URL,浏览器和爬虫会缓存并更新链接。站点改域名、http 强制跳 https 用它;注意缓存难以回退,误用会导致旧链接长期跳错。
302 Found 临时重定向(找到) 临时换地址,客户端后续仍应向原 URL 请求。历史上部分浏览器会把 POST 改成 GET,若需严格保持方法与 body 请用 307。
303 See Other 参见其他地址 用 GET 去另一个 URL 取结果,专门用于 POST/PUT 之后跳到确认页(PRG 模式:Post/Redirect/Get),避免刷新重复提交。
304 Not Modified 未修改 协商缓存命中:配合 If-None-Match/If-Modified-Since 返回,无响应体,浏览器直接用本地缓存副本。静态资源秒开的功臣。
305 Use Proxy 使用代理 要求通过指定代理访问资源。因安全风险与实现混乱,RFC 7230 已标记为弃用,现代客户端不再支持。
306 Switch Proxy 切换代理 旧规范预留的「换用另一个代理」状态码,从未被实际部署,IANA 标注为未使用(保留,勿再用于新协议)。
307 Temporary Redirect 临时重定向 与 302 同义但严禁改方法:POST 重定向后仍是 POST,请求体会重发。用于临时维护跳转、灰度分流。
308 Permanent Redirect 永久重定向 与 301 同为永久,但要求方法不变。适合接口版本迁移(POST /v1 永久指向 /v2)而又不想丢失请求方法的场景。
400 Bad Request 请求语法错误 服务器无法理解请求:JSON 格式错、必填参数缺失、类型不匹配、URL 编码非法。属于调用方问题,重试同样参数无意义。
401 Unauthorized 未认证 身份验证失败或缺少凭据:Token 过期/无效、未登录、Authorization 头格式不对(应为 Bearer xxx)。响应应带 WWW-Authenticate 说明方式。注意它表达的是「你是谁没确认」而非「你没权限」,后者是 403;前端通常在此码触发重新登录。
402 Payment Required 需要支付 为「在线付费」预留的状态码,标准里保留但无统一实现约定。部分 API 服务商自定义用它表示余额不足、需升级套餐。
403 Forbidden 禁止访问 身份已确认但权限不足:角色无权、IP 被黑名单、缺少 CSRF/Cookie、跨站防盗链、WAF 规则命中。与 401 的区别是重新登录也没用,需要授权或改策略;服务端不应在响应里泄露具体权限判定细节。
404 Not Found 资源不存在 服务器上找不到该 URI 对应的资源:路径拼写错、资源被删除、动态路由未匹配、静态站点部署时漏了产物文件,也可能是权限策略故意以 404 隐藏存在性。排查顺序:确认 URL 大小写与末尾斜杠、看路由表、确认构建产物是否包含该页(Nuxt 预渲染需在 routes 中)。与 410 的区别是 404 不表示「曾经有现在没有」。
405 Method Not Allowed 方法不允许 URI 存在但不支持该 HTTP 方法,例如对只读接口发 PUT。响应带 Allow 头列出可用方法;框架路由只注册了 GET 而前端调 POST 时最常见。
406 Not Acceptable 无法接受 服务端无法产出满足 Accept 头(如 application/json)的表示。多为内容协商配置错误,实践中许多 API 直接忽略此码改用 200 或 415。
407 Proxy Authentication Required 需要代理认证 客户端需先通过代理服务器认证(Proxy-Authenticate 头),常见于公司内网强制走带账号的 HTTP 代理。
408 Request Timeout 请求超时 客户端在服务端等待窗口内没发完请求体。弱网上传大文件、连接池里复用了已被 NAT 掐断的空闲连接时会看到;一般是可安全重试的幂等错误。
409 Conflict 冲突 请求与资源当前状态冲突:乐观锁版本号不匹配、重复注册同名用户、并发编辑互相覆盖。需要客户端拿到最新状态后重试。
410 Gone 资源已永久删除 资源曾存在且已被有意删除,且无转发地址。相比 404 明确告诉爬虫「可以彻底摘掉链接」,适合内容下线策略;缓存会较快失效。
411 Length Required 需要 Content-Length 服务端拒绝没有 Content-Length 头的请求(chunked 传输不被接受)。多见于网关或老式服务,改用固定长度正文即可。
412 Precondition Failed 前置条件失败 If-Match/If-Unmodified-Since 等条件头校验不通过,说明资源已被他人改动,常用于乐观并发控制,客户端需重新读取后再提交。
413 Content Too Large 请求体过大 请求体超过服务端限制:上传超配额、图片过大、批量 JSON 太长。响应可能带 Retry-After。调整方式是压缩、分片上传或提高网关 max body size。
414 URI Too Long URI 过长 请求行超过服务器上限(常见于把大量筛选条件塞进 GET 查询串,或误把正文拼进 URL)。改 POST 传参或减少参数即可。
415 Unsupported Media Type 媒体类型不支持 Content-Type 与接口约定不符:该收 JSON 却发了 form-urlencoded、上传非白名单格式文件。修正请求头或改文件类型。
416 Range Not Satisfiable 范围不满足 请求的 Range 超出资源实际长度(如文件续传位置比文件还大)。响应带 Content-Range: */实际长度,客户端据此重下。
417 Expectation Failed 期望未满足 客户端发了 Expect: 100-continue,但服务器不愿或不能接受该期望,直接拒绝整个请求。
418 I'm a teapot 我是茶壶 1998 年愚人节彩蛋(HTCPCUP 超文本咖啡壶控制协议):拒绝用茶壶煮咖啡。曾被 Google 等真实用于限流提示,保留它也是程序员的浪漫。
421 Misdirected Request 请求定向错误 连接被送到了不具备处理能力的服务器,典型是 HTTP/2 连接复用命中了没有对应 SNI 证书的域名。客户端可换连接重试。
422 Unprocessable Content 内容无法处理 请求语法正确但语义无法处理:字段校验失败、业务规则不通过。API 常在此码返回逐字段错误列表,与 400 的区别是「格式没问题、内容不合规矩」。
423 Locked 已锁定 WebDAV:目标资源被(他人或自己)锁定,写操作被拒绝。文件协作、在线编辑场景用于避免同时修改。
424 Failed Dependency 依赖失败 WebDAV:因前置请求(同一批 PROPPATCH 中的其他操作)失败,本次请求未执行。
425 Too Early 过早 服务器不愿冒重放风险处理过早到达的请求,与 TLS 1.3 的 0-RTT/Early Data 相关。客户端在新建连接上重试即可。
426 Upgrade Required 需要升级协议 拒绝在当前协议版本提供服务,要求客户端 Upgrade(如提示只支持 HTTP/2、或要求 TLS)。响应带 Upgrade 头。
428 Precondition Required 需要前置条件 要求请求必须带 If-Match 之类条件头,防止「未读先改」覆盖他人修改。用于强制乐观并发的写接口。
429 Too Many Requests 请求过多 触发限流:单位时间请求数超限。响应通常带 Retry-After 告诉客户端多久后再试;前端应做退避重试而不是立刻循环打。
431 Request Header Fields Too Large 请求头过大 单个或整体请求头超出服务器限制。常见于 Cookie 堆积过多、把大对象塞进自定义头。清理 Cookie 或改放正文。
451 Unavailable For Legal Reasons 因法律原因不可用 因版权、审查等法律要求而屏蔽该资源,响应可用 Link 头指向说明文书。用于向用户透明地说明「不是技术问题,是法律原因」。
500 Internal Server Error 服务器内部错误 服务端未预期的异常兜底码:代码抛错未捕获、空指针、数据库连接失败、依赖服务返回异常、配置或环境变量缺失。它对客户端没有可操作信息,责任在服务端;排查要看服务端日志与 traceId,生产环境还应避免把堆栈直接回显到响应体造成信息泄露。
501 Not Implemented 未实现 服务器不支持请求所要求的功能方法(例如不支持 PUT),与 405 的区别是 501 指方法本身没实现而非该资源不允许。
502 Bad Gateway 网关错误 反向代理/网关从上游拿到了无效响应:后端进程崩溃或未启动、端口不通、上游返回了非 HTTP 内容、容器刚重启还没就绪、连接被上游提前关闭。定位思路:先看后端健康检查与启动日志,再看代理 error log(nginx 会写明 connect() failed 或 upstream prematurely closed)。
503 Service Unavailable 服务不可用 服务器暂时无法处理:过载、正在发版维护、依赖熔断、线程池耗尽、健康检查摘流。语义是「临时」,正确做法是带 Retry-After 让客户端稍后重试,并配合维护页与自动扩容。
504 Gateway Timeout 网关超时 代理等待上游响应超时:慢 SQL、第三方接口耗时、大报表导出超过 proxy_read_timeout。与 502 的区别是上游确实活着但回得太慢;需要优化后端耗时或调大代理超时。
505 HTTP Version Not Supported HTTP 版本不支持 服务器不支持请求使用的 HTTP 版本(如仍在用 HTTP/1.0 访问只支持 1.1/2 的服务)。升级客户端协议版本。
506 Variant Also Negotiates 变体自身又在协商 透明内容协商配置错误:某个变体资源又把协商指向自己,形成循环。属于服务器端 mod_negotiation 配置 bug。
507 Insufficient Storage 存储空间不足 WebDAV:服务器没足够空间完成本次写入(MKCOL/PUT)。也可能是配额用尽,需要清理磁盘或扩配额。
508 Loop Detected 检测到死循环 WebDAV 绑定集合出现循环引用(A 包含 B,B 又包含 A),服务器为避免无限递归终止处理。
510 Not Extended 未扩展 客户端使用了策略要求的扩展但请求里没带上(RFC 2774 Policy Framework),需要补充扩展后重发。几乎不会在真实业务遇到。
511 Network Authentication Required 需要网络认证 门户捕获网络(咖啡馆/机场/酒店 WiFi)要求先登录认证,客户端会强制弹出认证页。属于网络层拦截,不是业务服务器返回。

使用说明

  • 表内只收录 IANA 注册的标准码;444(nginx 直接断连)、499(客户端提前断开)、520-599(Cloudflare 等)属于实现私有码,不在标准内。
  • 401 与 403 的区别:前者「没确认你是谁」,后者「知道你是谁但不让进」;前者可通过重新登录解决,后者不行。
  • 301 会被浏览器长期缓存,改站点跳转规则时要谨慎,必要时先用 302/307 观察效果。
  • 502 与 504 都出自反向代理:前者是上游回了坏响应,后者是上游根本没来得及回。

使用反馈

为保障内容质量,使用反馈需站长审核通过后才会展示;提交后没立刻看到属正常,请勿重复提交。

还没有评论,来抢沙发~