2026年5月30日 01:00

什么是 Cookie?它的工作原理和用途是什么?

Cookie 是浏览器保存的一小段键值数据,通常用来让 HTTP 这种“无状态协议”记住用户状态。流程很简单:服务端在响应里用 Set-Cookie 下发 Cookie,浏览器按 Domain、Path、Expires、SameSite 等规则保存;之后访问匹配的地址时,浏览器会自动把 Cookie 放进 Cookie 请求头发回服务端。它常用于登录会话、用户偏好、购物车和统计分析。敏感会话 Cookie 一般要配 SecureHttpOnlySameSite,否则容易被窃取或被跨站请求滥用。

追问

Cookie 会随匹配请求自动发送给服务器,适合会话识别;localStorage 只在浏览器本地保存,不会自动进请求头,适合非敏感前端数据。

不设置 ExpiresMax-Age 的通常是会话 Cookie,浏览器会话结束后失效;设置了过期时间的是持久 Cookie。

因为它可能代表登录态。被 XSS 读走会导致会话劫持,被 CSRF 利用会让浏览器自动带着 Cookie 发起恶意请求。

SameSite、HttpOnly、Secure 分别解决什么问题?

SameSite 缓解 CSRF,HttpOnly 防止脚本读取,Secure 限制只走 HTTPS。

写段代码

http
Set-Cookie: sessionId=abc; Path=/; Secure; HttpOnly; SameSite=Lax Cookie: sessionId=abc
标签:Cookie