Skip to content

Cookie Chaos

约 399 字大约 1 分钟

trick

2025-09-30

前言

  • 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 的选项。

Reference

cookie chaos Articles