Cookie(HTTP Cookie)是网站存放在用户浏览器里的一小段文本数据,用来记住登录状态、购物车和个性化偏好,让本身无状态的 HTTP 协议拥有「记忆」。本文通俗介绍 Cookie 的工作原理、常见类型、安全属性与隐私争议。

| 类型 | HTTP 状态管理机制 |
| 发明者 | Lou Montulli(网景公司) |
| 推出时间 | 1990年代中期 |
| 相关标准 | RFC 6265 |
| 国家或地区 | 起源于美国,全球通用 |
Cookie(HTTP Cookie,又称浏览器 Cookie)是网站保存在用户浏览器中的一小段文本数据,用于在多次访问之间记住用户的身份、登录状态和偏好设置,是网页登录、购物车、个性化推荐等功能得以实现的基础机制。
HTTP 协议本身是「无状态」的:服务器默认不记得两次请求是否来自同一个人。Cookie 正是为了解决这个问题而生——服务器通过响应中的 Set-Cookie 头把一小段键值对数据交给浏览器保存,浏览器此后每次访问同一网站时都会自动带上这些数据,服务器据此认出「你还是你」。例如登录网站后无需在每个页面重复输入密码,就是 Cookie 中的会话标识在起作用。
Cookie 由网景公司(Netscape)的工程师在上世纪九十年代发明,名称借用了计算机领域「magic cookie(魔法小甜饼)」这一术语,与曲奇饼干同名纯属趣味巧合。其现行技术标准由 IETF 的 RFC 6265 文档规范,被所有主流浏览器支持。
Cookie 最大的争议在于第三方 Cookie 的跨站追踪:广告商借此描绘用户画像、投放定向广告,因此近年多国出台隐私法规,要求网站弹窗征求「Cookie 同意」,主流浏览器也在逐步限制或默认拦截第三方 Cookie。此外,若会话 Cookie 被窃取,攻击者可冒充用户登录(会话劫持),所以正规网站会配合 HTTPS 和上述安全属性来保护 Cookie。
问:Cookie 是病毒或恶意软件吗?答:不是。Cookie 只是纯文本数据,不能执行代码,本身无害;其风险主要在于隐私追踪,以及被窃取后可能被冒用登录状态。
问:清除浏览器 Cookie 会怎样?答:各网站的登录状态会失效、需要重新登录,保存的偏好也会重置,但不会删除你的账号或电脑里的文件。
问:Cookie 和 localStorage 有什么区别?答:Cookie 会随每次请求自动发送给服务器,容量小、可设过期时间;localStorage 只保存在浏览器本地、容量更大,不会自动上传,适合存放纯前端数据。

| 类型 | HTTP 状态管理机制 |
| 发明者 | Lou Montulli(网景公司) |
| 推出时间 | 1990年代中期 |
| 相关标准 | RFC 6265 |
| 国家或地区 | 起源于美国,全球通用 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧