什么是 Cookie?

Cookie 是网站存储在浏览器中的小型文本数据。它由 Netscape 的一位工程师于 1994 年发明,此后一直是 Web 的基础技术。

Cookie 的最初目的是为无状态的 HTTP 协议赋予"记忆"。它在维持登录状态、保存购物车、记住语言设置等方面发挥着重要作用,支撑着网站的便利性。Cookie 的保存与管理由浏览器负责,因此 Cookie 的处理方式会随浏览器的种类和设置而不同。

第一方 Cookie 与第三方 Cookie

第一方 Cookie

这些是由你正在访问的网站自身设置的 Cookie。用于维持登录状态、保存用户设置和管理购物车等。它们通常是有用的,屏蔽后网站可能无法正常运行。

第三方 Cookie

这些是由你正在访问的网站以外的域名设置的 Cookie。主要被广告网络和分析服务用于跨多个网站追踪用户行为。从隐私角度来看,最受诟病的正是这类第三方 Cookie。

广告追踪的工作原理

广告追踪通常按以下流程进行。

  1. 你访问网站 A,嵌入该站的广告网络脚本设置了一个第三方 Cookie
  2. 接着你访问网站 B,同一广告网络的脚本读取了该 Cookie
  3. 广告网络由此掌握了你访问过网站 A 和网站 B 这一事实
  4. 随着这类信息不断积累,基于兴趣与关注点的用户画像被构建出来
  5. 再根据该画像投放个性化广告

这个过程在用户毫不知情的情况下,由众多广告网络并行推进。其结果就是无论打开哪个网站都显示相同广告这一现象。

Cookie 之外的追踪技术

即使屏蔽了 Cookie,仍有可能被其他技术追踪。

浏览器指纹

一种组合浏览器和设备的设置信息来识别用户的技术。与 Cookie 不同,它不在设备上保存数据,因此难以删除或屏蔽。详情请参阅浏览器指纹的解说文章

Local Storage 和 IndexedDB

这些技术可以在浏览器中保存比 Cookie 更大容量的数据。即使删除了 Cookie,追踪 ID 也可能仍残留在这些存储中。

ETag 和缓存追踪

这是滥用 HTTP 缓存机制来识别用户的手法。服务器返回一个唯一的 ETag,并在下次访问时读取该 ETag,从而实现追踪。

像素追踪

这是把 1×1 像素的透明图片嵌入网页或电子邮件,再从其加载请求中追踪用户行为的手法。

如何管理 Cookie

在浏览器设置中屏蔽第三方 Cookie

主流浏览器都提供了屏蔽第三方 Cookie 的设置。Safari 于 2020 年 3 月起全面屏蔽第三方 Cookie,Brave 也默认屏蔽。Firefox 从 2022 年起默认启用 Total Cookie Protection,它并非一律拒绝 Cookie,而是按所浏览的网站分隔保存位置,使其他网站无法读取。Chrome 淘汰第三方 Cookie 的方针已于 2024 年撤回,并在 2025 年 4 月确定予以保留,因此默认仍然允许,但可以在设置中启用屏蔽。

设置 Cookie 自动删除

把浏览器设置为关闭时自动删除 Cookie,就能防止长期追踪。不过每次都需要重新登录,与便利性之间的取舍无法避免。

使用隐私扩展

  • uBlock Origin:全面拦截广告和追踪器。随着 Chrome 的扩展规范迁移到 Manifest V3,面向 Chrome 另外提供了功能受限的 uBlock Origin Lite
  • Privacy Badger:依据 EFF 公开的追踪器名单拦截追踪。边浏览边在终端侧学习的功能,因担心学习结果本身会成为识别材料,已于 2020 年 10 月默认关闭
  • Cookie AutoDelete:关闭标签页时自动删除 Cookie

关于包含 Cookie 对策在内的在线隐私保护全貌,也请参阅保护隐私的实践指南

使用隐私浏览模式

在隐私浏览 (无痕) 模式下,Cookie 会在浏览器关闭时自动删除。但它不会加密通信内容,也不会隐藏 IP 地址,因此无法获得完全的匿名性。配合 HTTPS/TLS 的通信加密可以保护通信内容,但 Do Not Track 只是一种接收方没有义务遵守的"请求",多数广告网络都会忽略,因此难以指望它能阻止追踪。

用 IP 确认酱检查 Cookie 状态

在 IP 确认酱的首页,可以查看当前的 Cookie 信息和安全评分。Cookie 数量较多会反映在安全评分中,因此请养成定期检查和清理的习惯。

相关术语

Cookie 网站存储在浏览器中的小型数据文件,用于记住用户偏好…… Do Not Track(DNT) 一种浏览器设置,通过发送 HTTP 头(DNT: 1)向网站表达你不希望被追踪的偏好…… 追踪像素 嵌入在网页或电子邮件中的透明 1x1 像素图片(也称为网络信标或像素标签)…… 第三方 Cookie 由用户当前访问的网站以外的域名设置的 Cookie……

常见问题

把 Cookie 全部拒绝也没关系吗?

如果拒绝第一方 Cookie,就无法保持登录状态和购物车内容,许多网站将无法正常使用。只拦截第三方 Cookie 才是实用的做法。

Cookie 和缓存有什么区别?

Cookie 是网站保存在浏览器里的小块数据,用于记住登录信息和偏好设置。缓存则是临时保存图片、CSS 等文件,用来加快页面加载。