HDR

HTTP 头解析器(原始头转 JSON)

检查请求头或响应头文本,保留重复字段、空值与原始顺序

API 与 HTTP
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月30日
选项模式
输入

粘贴原始请求头、响应头或只有字段的头块后点击解析。高级模式提供场景示例。输入上限 1 MiB、2000 行。

输出
解析结果会显示在这里
🔒 仅浏览器内解析,不保存输入;结果不证明服务器或浏览器行为。
页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

HTTP 头解析器用于检查粘贴的请求、响应或只有字段的头块。没有起始行时也保留第一条字段,同时记录字段名原始大小写,并单独生成不区分大小写、以数组保存值的索引。因此,多条 Set-Cookie 会独立保留且顺序不变。修改输入会立即清除旧结果,点击“解析”后再查看新结果。首个空行结束头部,后面的正文不会被误当作头字段。支持单一 < 或 > 方向的 cURL verbose 头日志;混杂日志、HTTP/2 二进制帧、废弃的折叠行和包含多轮响应的完整抓取不在支持范围。字段名或控制字符错误会明确报错,可提取的字段仍保留,并标记 valid: false。工具不验证各字段全部语法、Host 要求、消息分帧、缓存、鉴权或 CORS 策略。可以粘贴 LF 或 CRLF 文本,但 Unicode 文本不能证明网络原始字节有效。处理在当前浏览器标签页内完成,不保存输入。上限为 1 MiB 和 2000 行;向外复制结果前应替换令牌等敏感值。

推荐工作流

失败门诊(高频踩坑)

复制的日志可能包含多个消息

原因:重定向、代理 CONNECT 交互与 cURL 诊断可能夹在头部周围。本解析器在首个空行结束头部。

修复:先分离一个完整请求或响应。支持单一 < 或 > 方向的 cURL 头日志;不要混合请求响应方向或拼接多轮响应。

头字段索引不能决定字段语义

原因:重复字段各有规则,Set-Cookie 不能统一按逗号拼接。即使提取出 Host 或 Content-Length,它仍可能在消息上下文中无效。

修复:把有序 fields 数组作为线索,再结合实际消息核对分帧与各字段规范,之后才能判断路由、缓存或鉴权。

生产可用片段

三次字段出现,两个不同名称

text

Host: example.com
Set-Cookie: a=1
set-cookie: b=2

预期:headerCount = 3;uniqueNameCount = 2
byName["set-cookie"] = ["a=1", "b=2"]

场景配方

01

核对重复响应字段

目标:检查抓取是否保留全部 Set-Cookie 行。

  1. 分别输入 HTTP/1.1 200 OK、Set-Cookie: a=1 与 set-cookie: b=2。
  2. 解析后核对 headerCount 为 2、fields 有两项,byName.set-cookie 含两个值。
  3. 追加一个空行,再输入 X-Body: ignored;重新解析后头字段数仍应为 2。

结果:区分字段出现次数、规范名称索引与正文文本,不合并 Cookie 字段。

常见问题

没有请求行或状态行也能解析吗?

可以。只有字段的头块会从第一条字段开始解析;识别到请求行或状态行时则单独记录。

重复头如何表示?

fields 数组保留每次出现的字段,byName 按小写名称分组保存值数组,不做逗号合并;headerCount 统计出现次数。

空行后面的文本如何处理?

首个空行结束头部,后面的文本被排除;有正文时会显示相应提示。

为什么有字段结果仍显示无效?

提取结果用于保留线索。字段名错误、折叠行、混杂日志前缀或控制字符会使本次检查无效,即使其他字段可解析。

识别 HTTP/2 状态行是否表示支持二进制 HTTP/2?

不是。可识别日志中的 HTTP/2 200 等文本状态行,但不解码 HPACK、二进制帧或 HTTP/3 传输。

解析有效是否证明 API 或浏览器会接收?

不能。输出只检查有限文本语法;字段语义、消息分帧与接收方策略需要真实请求响应上下文。输入不会上传解析或保存为草稿。

继续浏览