Session Cookie 会话 Cookie
网站用来验证 session 并决定 session 持续时长的 token。本质上就是浏览器存的一小段数据 —— 一般是 SESSIONID=abc123xyz,每次请求同一域名时自动带上。
Session Cookie vs Persistent Cookie
| 维度 | Session Cookie | Persistent Cookie |
|---|---|---|
| 过期时间 | 浏览器关闭就消失 | 设了 Expires 或 Max-Age |
| 用途 | 登录态、购物车 | 记住”上次访问”、跟踪、广告 |
| 存储位置 | 内存 | 硬盘 |
安全标志(必须配置)
Set-Cookie: SESSIONID=abc; HttpOnly; Secure; SameSite=Strict
| 标志 | 作用 |
|---|---|
| HttpOnly | JS 读不到 → 防 XSS 偷 cookie |
| Secure | 只在 HTTPS 下发送 → 防中间人 |
| SameSite | 跨站不带 cookie → 防 CSRF |
| Path / Domain | 限制作用范围 |
漏配任何一个都可能出大事 —— 比如不带 HttpOnly,一个 XSS 就能偷走 session cookie 实现 session hijacking。
跟 Session ID 的关系
- Session ID 是值本身(
abc123xyz) - Session Cookie 是装这个值的”容器”(浏览器存储 + 自动传输机制)
也可以不用 cookie,改用 Authorization header(JWT 等),但 cookie 是 web 应用主流方案。