HTTP 头解析器(原始头转 JSON)
检查请求头或响应头文本,保留重复字段、空值与原始顺序
粘贴原始请求头、响应头或只有字段的头块后点击解析。高级模式提供场景示例。输入上限 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"]场景配方
核对重复响应字段
目标:检查抓取是否保留全部 Set-Cookie 行。
- 分别输入 HTTP/1.1 200 OK、Set-Cookie: a=1 与 set-cookie: b=2。
- 解析后核对 headerCount 为 2、fields 有两项,byName.set-cookie 含两个值。
- 追加一个空行,再输入 X-Body: ignored;重新解析后头字段数仍应为 2。
结果:区分字段出现次数、规范名称索引与正文文本,不合并 Cookie 字段。
常见问题
没有请求行或状态行也能解析吗?
可以。只有字段的头块会从第一条字段开始解析;识别到请求行或状态行时则单独记录。
重复头如何表示?
fields 数组保留每次出现的字段,byName 按小写名称分组保存值数组,不做逗号合并;headerCount 统计出现次数。
空行后面的文本如何处理?
首个空行结束头部,后面的文本被排除;有正文时会显示相应提示。
为什么有字段结果仍显示无效?
提取结果用于保留线索。字段名错误、折叠行、混杂日志前缀或控制字符会使本次检查无效,即使其他字段可解析。
识别 HTTP/2 状态行是否表示支持二进制 HTTP/2?
不是。可识别日志中的 HTTP/2 200 等文本状态行,但不解码 HPACK、二进制帧或 HTTP/3 传输。
解析有效是否证明 API 或浏览器会接收?
不能。输出只检查有限文本语法;字段语义、消息分帧与接收方策略需要真实请求响应上下文。输入不会上传解析或保存为草稿。
继续浏览