HTTP 状态码与消息头速查

HTTP 参考手册:状态码、消息头、写法配方

收录 72 个状态码(含触发场景与排查建议)、65 个消息头(含语法模板与例子)、12 个可直接粘贴的写法配方。全程离线可用。

72 条 · 点击任一行看场景与排查建议

状态码分段

  • 1xx · 信息性 — 请求已收到,继续处理
  • 2xx · 成功 — 请求已被理解并接受
  • 3xx · 重定向 — 还要再去别的地址一步
  • 4xx · 客户端错误 — 请求本身有问题,改调用方
  • 5xx · 服务端错误 — 服务端或上游故障

标了「扩展」的不是 IANA 登记的码:Cloudflare、nginx、部分 PaaS 各自定义了自有码,处理时要按厂商文档理解。

HTTP 状态码与消息头速查

72 个状态码、65 个消息头、12 组请求写法配方与 MIME 速查,中英双语离线可用

本地运行 · 数据不上传

详细说明

这是一个偏工程实用的 HTTP 速查台,回答的不只是「404 是什么意思」,更是「遇到 404 该往哪查」「这个请求的 header 到底该怎么写」。状态码收录 72 项,以 RFC 9110 定义的集合为主干,补入 WebDAV(RFC 4918)、RFC 6585(426/428/429/431)、RFC 8297(103 Early Hints)、RFC 8470(425 Too Early)、RFC 7725(451 Legal Reasons)等标准化扩展,以及 nginx 499、Cloudflare 520-526、IIS 530 等在真实日志里绕不过去的非标准码;非标准项统一标注「扩展」徽章,不与标准混淆。每条给出中英双语的详细含义、真实触发场景和排查方向,并列出相关消息头,可一键跳转。消息头部分收录 65 个开发中真正需要手写的字段,每个都配语法模板与真实示例,覆盖条件请求、缓存分层、CORS 预检与安全响应头这些最容易写错的区域。「怎么写」页把 12 个高频场景整理成整段可复制的请求配方,含 curl、fetch、axios、Python requests、Go 等写法。MIME 表只列日常会手写到的 55 项,并注明注册名与浏览器容错别名之间的区别。全部内容内置于前端,离线可用。

功能特点

  • 72 个 HTTP 状态码:RFC 9110 定义的完整集合,外加 WebDAV、RFC 6585、Cloudflare、nginx 等常见扩展
  • 每个状态码给出含义、常见触发场景、排查方向,以及应该顺手检查的相关消息头
  • 65 个常用消息头,按通用、请求、内容、条件请求、缓存、认证、Cookie、CORS、安全、WebSocket、代理链路、可观测 12 类整理
  • 每个消息头给出语法模板、可直接粘贴的真实示例,以及容易踩的坑
  • 12 组写法配方:JSON 接口、鉴权、文件上传、文件下载、CORS、缓存、SSE 流式、断点续传、限流、安全头、反向代理、WebSocket 握手
  • 每组配方附 curl、JavaScript、Python 等多种语言的可直接运行片段,一键复制
  • 55 个常用 MIME / Content-Type 速查,标注 IANA 注册名与浏览器实际写法的差异
  • 中英双语、离线可用、移动端无横向滚动

使用方法

  1. 1 顶部四个标签页:状态码 / 消息头 / 怎么写 / MIME,第一次打开会展开「这个工具怎么用」引导
  2. 2 状态码页顶部是按 1xx-5xx 分段的比例条与分类筛选,点击可只看某一段
  3. 3 点击任意状态码展开,依次是含义、常见触发场景、怎么排查、相关消息头
  4. 4 相关消息头是蓝色标签,点击后自动切到消息头页并定位到该字段
  5. 5 消息头页每条包含语法模板与示例两个代码块,右上角分别可复制
  6. 6 怎么写页选择一个场景,先看这个场景在解决什么,再逐个语言复制代码,底部有注意事项
  7. 7 MIME 页支持按类型名与扩展名搜索,备注列说明注册名与实际别名的区别

使用技巧

  • Content-Type 请写 application/json。HTTP 头名不区分大小写,但头的值是区分的,大小写写错会让服务端解析失败
  • 返回 429 时一定要带 Retry-After,否则客户端只能盲目重试,反而放大故障
  • 要严格保持请求方法不变的重定向,用 307 或 308;301 与 302 在历史实现中可能把 POST 改成 GET
  • CORS 报错先看响应里有没有 Access-Control-Allow-Origin;请求带 credentials 时,该头的值不能是星号,必须回显具体来源
  • 同时给出 ETag 与 Last-Modified 时,条件请求要求两者都校验通过才会返回 304
  • 反向代理后取真实客户端 IP 看 X-Forwarded-For,但它是客户端可伪造的,只应信任自己代理追加的那一段
  • HSTS 一旦下发就很难撤销(max-age 可达一年),上线前先用较短的 max-age 在小范围验证
  • 大文件上传用 multipart/form-data,续传用 Range 与 206,纯文本流式返回考虑 SSE 并把 Content-Type 设为 text/event-stream

相关工具

标签 HTTP状态码MIME开发工具

常见问题

状态码收了哪些?为什么比一般表格多?

共 72 项。主干是 RFC 9110(HTTP Semantics)定义的全部状态码,另补入已被其他 RFC 标准化的扩展(WebDAV RFC 4918、RFC 6585、RFC 8297(103 Early Hints)、RFC 8470(425 Too Early)、RFC 7725(451 Legal Reasons)、RFC 7538、RFC 5842、RFC 2295、RFC 2774)以及在真实日志里常见的非标准码(nginx 499、Cloudflare 520-526、IIS 530 等)。凡非 RFC 9110 标准集合的,都标注「扩展」徽章并注明来源,方便你判断能否依赖它。

消息头为什么只有 65 个,而不是全部?

只收开发中真的需要亲手写、或排查时必须认识的字段,按 12 类组织。收录标准是「你会在代码里手写它,或在抓包时需要解释它」。每个都配语法模板与示例,宁少而准,不做无人查阅的全量清单。

「怎么写」页的代码可以直接跑吗?

是可以直接粘贴的骨架,请求结构与消息头是完整且正确的,你只需把域名、路径、token、文件路径替换成自己的。每组配方底部还列出该场景常被忽略的注意事项。

MIME 表只有 55 条,够吗?

这是刻意的取舍。IANA 注册类型有上千个,但工程师真正会手写的就是这几十种。与其用长表淹没常用项,不如把这 55 条写准:备注里区分了注册名与浏览器容错别名,例如 image/jpeg 才是注册名(image/jpg 只是别名),图标应写 image/vnd.microsoft.icon(image/x-icon 是历史别名),application/gzip 与 application/x-gzip 亦同。

它能替我发请求吗?

不能。这是一个纯离线的参考与代码生成台,不会向任何服务器发起请求,也不联网。要真实验证响应,请配合浏览器开发者工具或 curl。

手机上能用吗?

可以。所有代码块都做了自动换行处理,页面在窄屏下不会出现横向滚动,分类标签可横向滑动。