session 里的东西到底存在哪?装的是什么格式?不用密钥能不能读出来?为什么我改了 session 却没有新的 Set-Cookie?这篇把 cookie 解开,逐项验证。
Set-Cookie: session=eyJuIjoxLCJ1c2VyIjoiYW5uIn0.ar8lSw.iTT4dPfhvFyMd5C6j3OTHgi3MeI; HttpOnly; Path=/
cookie 值分 3 段;压缩=False;payload = {"n":1,"user":"ann"};签发时间 = 2026-10-02T03:30:19+00:00上一篇:Signed Cookie;下一篇:Range 请求与断点下载;SECRET_KEY 的专题:SECRET_KEY 的用途;安全属性:Session Cookie 安全属性。
payload = {"bytes":{" b":"AP9hYg=="},"dt":{" d":"Fri, 02 Oct 2026 12:00:00 GMT"},"list":[1,{"a":{" t":[3,4]}}],"markup":{" m":"<b>x</b>"},"n":1,"tuple":{" t":[1,2]},"user":"ann","uuid":{" u":"000000000000000000000000000000ff"}}
session 里的真实类型: {'bytes': 'bytes', 'dt': 'datetime', 'list': 'list', 'markup': 'Markup', 'tuple': 'tuple', 'uuid': 'UUID'}非 permanent: HttpOnly; Path=/ permanent : Expires=Mon, 02 Nov 2026 03:30:19 GMT; HttpOnly; Path=/ PERMANENT_SESSION_LIFETIME = 31 days, 0:00:00
非 permanent:只读一下 → 不发 非 permanent:修改 → 发 Set-Cookie permanent:只读一下 → 发 Set-Cookie permanent + REFRESH=False:只读一下 → 不发
Set-Cookie: session=; Expires=Thu, 01 Jan 1970 00:00:00 GMT; Max-Age=0; HttpOnly; Path=/
随机十六进制 100 字符 → cookie 值 151 字节 | 已压缩 | 警告 0 条 随机十六进制 1000 字符 → cookie 值 803 字节 | 已压缩 | 警告 0 条 随机十六进制 3000 字符 → cookie 值 2318 字节 | 已压缩 | 警告 0 条 随机十六进制 5000 字符 → cookie 值 3878 字节 | 已压缩 | 警告 0 条 随机十六进制 8000 字符 → cookie 值 6235 字节 | 已压缩 | 警告 1 条 重复的 x 100 字符 → cookie 值 62 字节 | 已压缩 | 警告 0 条 重复的 x 1000 字符 → cookie 值 68 字节 | 已压缩 | 警告 0 条 重复的 x 5000 字符 → cookie 值 87 字节 | 已压缩 | 警告 0 条
原样 → 200 {'n': 1, 'user': 'ann'}
改 payload 第 5 个字符 → 200 {}
换成别的密钥签的 → 200 {}salt = cookie-session | key_derivation = hmac | digest_method = _lazy_sha1 | serializer = TaggedJSONSerializer