SCK

Set-Cookie 解析器

检查响应 Cookie、属性顺序、显式空值与逐行语法诊断

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

每行粘贴一条 Set-Cookie,点击解析后查看名称、属性与诊断。Expires 只保留文本,不计算过期时刻。上限 1 MiB、2000 行。

输出
解析结果会显示在这里
仅本地解析,不保存输入;不计算过期时刻,也不保证浏览器接收。
页面阅读模式

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

工具说明

Set-Cookie 解析器按每行一个响应 Cookie 字段检查文本,可带或不带 Set-Cookie: 前缀。它保留 Cookie 名称与值、属性拼写及顺序、重复属性,并区分 Path= 这样的显式空值和没有等号的标记。Cookie 值应使用 RFC 6265 的 cookie-octets;加外层引号仍不能让空格、逗号、分号或反斜线变得合法。工具容忍粘贴内容中名称值对和属性周围的 ASCII 空白,不是逐字节的发送方校验器。错误行与可提取行同时可见,任何语法错误都会阻止整批结果被记为成功。属性提示覆盖十进制 Max-Age、可识别的 SameSite 值、可见的 Secure 和名称前缀要求、重复属性及扩展属性。Expires 只作为文本保留;工具不计算过期时刻,也不从重复属性中选择浏览器实际采用的值。Domain 匹配、公共后缀、默认路径、HTTPS 来源、分区键和第三方 Cookie 策略需要真实响应与浏览器上下文。清空或编辑会移除旧结果。解析在浏览器内进行,不保存输入,打开时还会移除旧版 Set-Cookie 草稿。上限为 1 MiB 和 2000 行。

失败门诊(高频踩坑)

能看到过期属性,不代表计算了时钟

原因:Max-Age=0 或负整数表示请求过期。Expires 仅按原始文本保留,因此即使日期无效也可提取,但工具不知道最终过期时刻。

修复:核对真实响应时间、URL 与浏览器 Cookie 存储,把十进制检查和原始属性查看与过期计算区分开。

补上 Secure 不能证明跨站 Cookie 可用

原因:SameSite、HTTPS、浏览器设置、分区、域名路径匹配以及服务端行为都可能影响结果。重复属性还涉及接收方的具体处理。

修复:用可见提示定位值得检查的属性,再在目标浏览器中复现请求。解析器不会从重复属性中选定浏览器最终采用的值。

场景配方

01

区分语法错误与策略提示

目标:比较非法 Cookie 值和可见属性问题。

  1. 解析 sid="a;b"; Secure,查看 Cookie 语法错误。
  2. 改为 sid=ok; SameSite=None,查看缺少 Secure 的提示。
  3. 补上 Secure 再检查属性,随后在浏览器开发者工具中核对实际接收结果。

结果:文本语法与可见属性提示分别变化,不据此推断浏览器最终行为。

生产可用片段

显式空值与无值标记不同

text

Set-Cookie: sid=; Path=; Secure; Extension=

sid:Cookie 值为空
Path=:hasEquals 为 true,属性值为空
Secure:hasEquals 为 false,是标记
Extension=:保留的扩展属性

空 Path 会收到提示;未提供响应 URL,因此不推导默认路径。

推荐工作流

常见问题

可以包含 Set-Cookie: 前缀吗?

可以,每个非空行都可带此前缀。每条 Cookie 应独占一行,不能用逗号合并代替。

空属性与重复名称会保留吗?

会。属性列表区分显式为空的 Path= 与标记 Secure;重复属性按顺序保留并给出提示。

为什么引号内含分号的 Cookie 仍无效?

RFC 6265 对外层引号内部仍使用 cookie-octets 限制,这与通用 HTTP quoted-string 语法不同。

负数 Max-Age 是错误吗?

本身不是。0 或负整数表示请求过期,正整数表示请求保存时长;本工具不计算最终过期时刻。

工具能判断浏览器是否接收 Cookie 吗?

不能。提示仅检查可见属性,还需结合浏览器版本、来源、分区与接收策略。本工具也不校验 Expires 日期。

离开页面后会保存 Cookie 吗?

工具不保存输入草稿,也不把其值写入统计事件;打开时会删除旧版草稿键。复制或分享结果需要你主动操作。

继续浏览