HTTP 状态码速查

网络调试 完全免费 🔍 关键字搜索 📊 分类标签筛选 📥 离线可用 🌙 支持黑夜模式

58 个常用 HTTP 状态码按 5 大类整理:1xx 信息响应、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误。每个状态码都配含义 + 真实使用场景,支持关键字即时搜索与分类切换,接口调试、排查报错时随手一查。

类别程序员 · 文档速查
运行方式纯前端 · 离线运行
状态码数量5 大类 · 58 个常用状态码
数据存储无存储

📡 HTTP 状态码速查

按类别切换或直接搜索,每条含含义 + 使用场景

💬 1xx 信息响应(服务器已收到请求,继续处理中)

100 Continue · 客户端应继续发送请求体 场景:客户端发送大请求体前用 Expect: 100-continue 探测服务器是否愿意接收,避免白传几十 MB
101 Switching Protocols · 服务器同意切换协议 场景:WebSocket、HTTP/2 升级握手时返回,配合 Upgrade 请求头使用
102 Processing · 服务器已收到,仍在处理 场景:WebDAV 复杂请求处理超过 20 秒时返回,防止客户端超时断开
103 Early Hints · 预提示,最终响应稍后到 场景:在正式响应前让浏览器预加载关键 CSS/JS 资源,加速首屏渲染

核心特性

5 大类 58 个常用状态码
含义 + 使用场景双栏说明
关键字即时搜索(支持中英文)
分类标签快速筛选
状态码一键复制
易混状态码对比讲解
支持黑夜模式与离线使用

状态码为什么总是记混?

日常开发里真正高频的状态码只有十几个,但一到排查线上问题,502 和 504 分不清、301 和 302 不知道该返回哪个、401 和 403 傻傻搞反的情况比比皆是。问题不在记性,而在状态码是按语义设计的,不是按数字:同为重定向,301/308 永久、302/307 临时,后者还严格保持请求方法;同为 5xx,502 是后端给了坏响应、504 是后端压根没响应。

这份速查表把 1xx 信息响应、2xx 成功、3xx 重定向、4xx 客户端错误、5xx 服务端错误共 58 个常用状态码整理成 5 大类,每个都写清「是什么」和「什么时候用」:断点续传对应 206、协商缓存命中对应 304、限流触发对应 429、PRG 模式跳转对应 303……遇到不确定的状态码,直接搜索数字或中英文关键词即可。

所有内容为静态文档,无任何网络请求,可离线使用。建议把 401/403、301/302/307/308、502/503/504 这三组易混组合重点看一遍,接口设计与线上排障时能少走很多弯路。

怎么用

  1. 按类别切换
    点顶部「1xx 信息 / 2xx 成功 / 3xx 重定向 / 4xx 客户端 / 5xx 服务端」标签切换到对应类别,或点「全部」查看所有状态码。
  2. 搜索状态码
    在搜索框输入数字(如 429)或中英文关键词(如 限流、timeout),列表会实时过滤出相关条目。
  3. 查看场景
    每条记录分两栏:左边是含义速览,右边是「什么时候用」的真实场景说明。
  4. 复制状态码
    点击条目右侧的「复制」按钮,状态码数字与英文名(如 429 Too Many Requests)即被复制。

使用技巧

  • 401 与 403:401 是「不知道你是谁」(未登录/Token 失效),403 是「知道你是谁但不许你干这个」(权限不足)。
  • 301 与 302:301 永久跳转会转移 SEO 权重,站点换域名、HTTP 迁 HTTPS 用它;302 临时跳转不转移权重。
  • 302 与 307:302 历史实现上可能把 POST 变 GET;307 严格保持原请求方法与请求体,跨域 POST 跳转用它更安全。
  • 502 与 504:502 说明网关收到了后端的非法响应或连接被拒(后端崩了);504 说明后端在超时时间内没响应(后端太慢)。
  • 触发 429 限流时应返回 Retry-After 响应头,告诉客户端等待多少秒再重试。
  • RESTful 接口设计:创建成功用 201 并带 Location 头;更新用 200 或 204;参数校验语义错误用 422 而非 400。
  • 删除成功的推荐做法是返回 204(无返回体)或 200 + 说明,不要返回 404。

更新记录

  • v1.0 2026-09-16 首次上线:5 大类 58 个常用 HTTP 状态码速查、含义 + 使用场景双栏说明、关键字即时搜索、分类标签筛选、状态码一键复制。

常见问题

401 和 403 到底怎么区分?
401 Unauthorized 本意是「未认证」:客户端没有身份凭证或凭证无效/过期,应配合 WWW-Authenticate 响应头提示如何认证,客户端通常需要重新登录或刷新 Token。403 Forbidden 是「已认证但无权限」:服务器知道你是谁,但你的角色无权访问该资源,重新登录也没用。记法:401 不知道你是谁,403 知道你是谁但不许。
301、302、307、308 四个重定向怎么选?
按「永久还是临时 × 是否保持请求方法」两维选择:301 永久 + 可能改方法(历史原因 POST 可能被转成 GET);308 永久 + 严格保持方法;302 临时 + 可能改方法;307 临时 + 严格保持方法。换域名、强制 HTTPS 用 301;登录后跳转、临时维护用 302;API 地址永久迁移用 308;POST 跨域临时跳转用 307。另外 303 专用于「POST 完成后跳结果页」(PRG 模式),明确要求改用 GET 访问。
为什么视频拖进度条会用到 206?
视频播放器拖动进度条时,会通过 Range: bytes=xxxx-yyyy 请求头向服务器只请求缺失的那一段数据,服务器返回 206 Partial Content 和对应的 Content-Range。这也是断点续传、大文件分片下载的原理。如果请求的范围超出了文件实际大小,服务器会返回 416 Range Not Satisfiable。
502、503、504 排查线上问题时分别意味着什么?
502:网关(如 Nginx)收到了后端的非法响应或连接被拒绝,通常是 PHP-FPM/Node 进程崩了、脚本 fatal error;503:服务过载或正在维护,负载均衡器把节点摘除时也会返回它,可带 Retry-After;504:网关在超时时间内没等到后端响应,通常是慢 SQL、外部接口卡死、超时配置过短。排查顺序:先看 502 的后端错误日志,504 则重点查慢查询与上游超时配置。
PUT/DELETE 成功后应该返回什么状态码?
推荐:PUT/PATCH 更新成功返回 200(带最新资源内容)或 204(无返回体);DELETE 删除成功返回 204 或 200;POST 创建资源成功返回 201,并带 Location 头指向新资源地址。不要创建/更新成功还返回 201/200 之外让人误解的码,也不要用 404 表达「删过了再删一次」。
418 I'm a teapot 是干什么用的?
它来自 1998 年愚人节发布的 HTCPCP(超文本咖啡壶控制协议),字面意思是「我是一个茶壶,没法给你煮咖啡」。RFC 2324 之后它成了社区的著名彩蛋,没有正经语义,部分服务会故意返回 418 表示「我知道你在扫描我」。实际项目里不要使用它,面试聊资倒是很好用。
这份速查表能离线使用吗?
可以。点顶部「📥 下载离线版」会导出包含全部状态码的自包含 HTML 文件,不联网也能打开查阅。

💬 留言板 0

全部留言需审核通过后展示
💬

还没有留言,来抢沙发吧!

✍️ 说点什么
0 / 500
图形验证码