Set-Cookie 与 Cookie 标头解析器
在你的浏览器中,粘贴一个原始的 Set-Cookie 或 Cookie 标头,即可看到每个属性、过期时间和安全警告被逐一拆解出来。
Set-Cookie 解析器完全在你的浏览器中运行。cookie 标头、值以及它们包含的任何令牌都在你的设备上解析,绝不会上传到 ArrayKit。
打开 HAR 查看器
关于 Set-Cookie 解析器
Set-Cookie 解析器会接收一个原始的 Set-Cookie 响应标头——或一整叠这样的标头——并把每个 cookie 拆解成一个可读的表格:名称、经 URL 解码的值、Domain、Path、带友好相对时间的 Expires、Max-Age,以及 Secure、HttpOnly、SameSite、Priority 和 Partitioned 标志。它会标记那些悄悄让 cookie 失效的错误,例如没有 Secure 的 SameSite=None、一个已经过期的日期,或一个违反其规则的 __Host- 前缀,并告诉你每个 cookie 是会话型还是持久型。改为粘贴一个 Cookie 请求标头,它就会列出正在发送的每一个名称和值。一切都在你的浏览器本地解析,因此你检查的标头绝不会离开你的设备。
功能特性
- 把每个 Set-Cookie 标头拆解成它的名称、值和每一个属性
- 对 cookie 值进行 URL 解码,并可按需复制原始的 name=value
- 把 Expires 解析为一个绝对日期,外加一个相对的「2 小时后」标签
- 把 Max-Age 相对当前时间求解,以显示真正的过期时刻
- 对没有 Secure 的 SameSite=None、已过期的日期以及为零的 Max-Age 发出警告
- 检查 __Host- 和 __Secure- 名称前缀规则以及 Partitioned 标志
- 可切换到 Cookie 请求标头模式,列出每一个 name/value 对
- 一次解析一条或多条 Set-Cookie 行,全部在你的浏览器中完成
如何使用 Set-Cookie 解析器
- 从你浏览器的网络面板或一个服务器响应中复制一个 Set-Cookie 标头
- 把它粘贴到框中——如果你有多条,请每行一条地添加更多 Set-Cookie 行
- 查看逐个 cookie 的表格,了解属性、过期时间和任何被高亮的警告
- 切换到 Cookie 标头模式,改为检查一个请求的 Cookie: 行
示例
输入
Set-Cookie: track=1; Domain=.example.com; SameSite=None
输出
track = 1 | Domain=.example.com | SameSite=None | Session
⚠ SameSite=None requires the Secure attribute — browsers will reject this cookie.
一个没有 Secure 的 SameSite=None cookie 会在你粘贴的那一刻就被标记出来。
常见错误与故障排除
- 粘贴了多个 Set-Cookie 标头,但只有第一个被解析了。 — 请把每个 Set-Cookie 标头放在各自的行上。不要用逗号把它们连接起来——一个有效的 Expires 值本身就含有逗号,因此用逗号连接会破坏日期。
- Expires 显示「could not be parsed as an HTTP date.」(无法解析为 HTTP 日期)。 — 请使用标准的 HTTP 日期格式,例如 Expires=Wed, 21 Oct 2025 07:28:00 GMT。格式错误或非 GMT 的日期无法被可靠地读取。
- 一个 Cookie 请求标头被读成了一个带有奇怪属性的 Set-Cookie。 — 请切换到 Cookie 标头标签页,或在该行前加上「Cookie:」前缀,使其被当作一个由 name=value 对组成的请求标头。
- 值看起来是经过百分号编码的,例如 dark%20mode。 — 解析器会对值进行 URL 解码以供显示(dark mode),而复制按钮仍会给出标头中精确的原始 name=value。
常见问题
- Set-Cookie 解析器为每个 cookie 显示什么?
- 对于每个 Set-Cookie 标头,它会列出名称、经 URL 解码的值,以及它找到的每一个属性——Domain、Path、Expires(带相对时间)、Max-Age、Secure、HttpOnly、SameSite、Priority 和 Partitioned——再加上针对任何看起来有问题之处的警告。
- 为什么 SameSite=None 需要 Secure 属性?
- 现代浏览器只有在一个跨站 cookie(SameSite=None)同时被标记为 Secure 时才接受它,因此它只能通过 HTTPS 传输。如果缺少 Secure,浏览器会拒绝该 cookie,解析器会用一个警告标记这种组合。
- cookie 上的 Max-Age 和 Expires 有什么区别?
- Expires 设定一个绝对日期;Max-Age 设定从收到 cookie 那一刻起、以秒计的存活时长。当两者都存在时,Max-Age 优先,因此工具会把 Max-Age 相对当前时间求解,并注明它优先于 Expires。
- __Host- 和 __Secure- 这两个 cookie 名称前缀是什么意思?
- 它们是浏览器强制执行的安全前缀。一个 __Secure- cookie 必须设置 Secure;一个 __Host- cookie 必须设置 Secure、省略 Domain 并使用 Path=/。解析器会检查这些规则,并在一个 cookie 的名称所承诺的保证与其属性不符时发出警告。
- 这个工具也能解析 Cookie 请求标头吗?
- 可以。切换到 Cookie 标头模式,粘贴一个 Cookie: 行(或一个裸的「a=1; b=2」字符串),即可得到一个表格,列出该请求发送的每一个 cookie 名称和值,每一个都经 URL 解码且可复制。
- 在这里,会话型 cookie 和持久型 cookie 有什么区别?
- 一个既没有 Expires 也没有 Max-Age 的 cookie 是会话型 cookie——它在浏览器关闭时被清除。任何带有 Expires 日期或 Max-Age 的都是持久型。解析器会把每个 cookie 标注为「会话型」或「持久型」,让你能一眼分辨。
相关工具
全部 ArrayKit 工具