Cookie Chaos
约 399 字大约 1 分钟
trick
2025-09-30
前言
Cookie 诞生背景(1994–1995)
- HTTP/0.9 和 HTTP/1.0 初期是 无状态(stateless)协议: 每一次请求/响应都是独立的,服务器无法知道两次请求是不是来自同一个用户。
- 这对 购物车、登录状态、用户偏好 等需求很不友好。
- 1994 年,Netscape 的 Lou Montulli 提出了 Cookie 机制,首次用于浏览器 Netscape Navigator。
- Cookie 最早就是为购物车功能设计的。
标准化与早期使用(1997–1999)
- 1997 年,RFC2109 发布,第一次尝试标准化 Cookie。
- 1999 年,RFC 2965 取代 2109,对 Cookie 定义更清晰,包括
Set-Cookie2。 - 但是很多浏览器厂商(尤其是 IE)并没有完全遵循标准,导致实际中大家主要还是用最初的Netscape 风格 Cookie。
Web 发展中的主流(2000)
- 在 Web 1.0 → Web 2.0 的过渡期,Cookie 成为实现以下功能的核心:
- Session 管理(登录态、购物车、表单)
- 个性化设置(语言、主题)
- 用户追踪(广告商跨站跟踪用户)
- 但随着广告业使用 第三方 Cookie 来跟踪用户,隐私问题开始引发争议。
安全与隐私的改进(2000s–2010)
- 为了减少安全隐患,陆续引入了几个重要属性:
Secure→ 只能在 HTTPS 上传输HttpOnly→ JavaScript 无法访问,防止 XSS 窃取SameSite→ 限制跨站请求携带 Cookie(防止 CSRF)
- 同时,用户隐私受到越来越多的关注,各种浏览器开始提供 阻止第三方 Cookie 的选项。