← 返回博客

Do Not Track 是什么?请勿追踪开关和浏览器指纹的关系,一次讲清

Do Not Track 是浏览器发给网站的一句「请不要追踪我」,它只是一份意愿声明,没有强制力;网站能不能读到这个信号、怎么解读它,才是它和浏览器指纹产生关系的入口。浏览器设置页里那个不起眼的「请勿追踪」选项,不少人纠结过要不要打开。这篇文章把它拆开讲清:它的工作方式、被放弃的原因、与指纹的关系和影响边界。最后一部分落到实操,讲指纹浏览器里怎么检查这个信号。

Do Not Track 到底是什么

Do Not Track(缩写 DNT)是一个 HTTP 请求头,作用是向网站表达「用户不希望被跨站追踪」的偏好。这个概念在 2009 年由研究者提出,Firefox 4 在 2011 年率先正式支持。随后 Chrome、Safari、IE 相继跟进。开启之后,浏览器的每个请求都会多带一个头部字段。它的取值有三种:1 表示不愿被追踪,0 表示不介意被追踪,null(或不发送)表示没有表达过偏好。

网页脚本也可能通过 navigator.doNotTrack 属性读取同一个值。所以检测方从头部和脚本两条路都能拿到这个取值。

DNT 的性质要说透。它只是一份「请求」。遵守与否全看网站自觉。没有法律要求平台必须响应,也没有惩罚机制兜底。实际情况是,DNT 没有获得足够广泛的遵守,打开它并不能保证网站停止追踪。MDN 对 DNT 头的说明现在把它标注为弃用状态,写明这项规范已经停止推进。

为什么被浏览器陆续放弃

DNT 被放弃的原因可以压缩成两句话:网站几乎不遵守,它自身还可能成为指纹变量。十几年的进程里有三个节点值得记住:

  1. 2011 年前后,DNT 被多个主流浏览器采用,试图让用户通过请求头表达不愿被追踪的意愿。那几年它被媒体当作隐私保护的标配来科普。
  2. 2019 年,W3C 认为这项标准缺乏足够的实际部署,结束了相关工作。同年 Safari 以避免 DNT 成为指纹变量为由移除了支持。
  3. 2025 年,Firefox 从 135 版本起移除了 DNT 设置,改为引导用户使用基于 GPC(Global Privacy Control)的隐私偏好选项。GPC 用 Sec-GPC 头表达同样的退出意愿。目前仍在活跃使用。

GPC 与 DNT 有一处本质区别:它的法律效力来自具体隐私法规的适用范围。在法规覆盖的场景里,网站必须响应这个信号。这不等于所有网站、所有地区都必须遵守,但至少有了约束的抓手。

回头看,DNT 的失败不在技术实现,而在机制设计:一份没有强制力的声明,网站遵守与否全凭自愿。这段历史也解释了另一件事:它和指纹的关系为什么会走向反面。

DNT 与指纹的关系:可能增加可区分性,但有边界

DNT 与屏幕尺寸、操作系统这类设备信息不同,它表达的是浏览器的追踪偏好。但只要网站能够读取这个值,它就可能被纳入浏览器特征的组合分析。这是它与指纹产生关系的全部路径。绝大多数用户从没进过隐私设置页,DNT 处于未发送状态。打开它的人是少数。在一个以「与多数人是否不同」为线索的判断体系里,少数派取值天然带着一点可区分性。

这条线索的作用边界,比很多文章写的要窄。有三件事需要分清:

1. DNT 不是唯一标识符。它不能单独证明两个请求来自同一设备,更不能单独判定账号关联。风控是否读取这个信号、权重给多少,外界无法观测。

2. 取值不同不等于环境异常。浏览器版本、隐私设置和实现方式都会影响检测结果。DNT 状态不同,未必指向同一个判断结论。

3. 一致性不等于越统一越安全。没有依据要求所有环境开启或关闭 DNT,取值方向本身没有标准答案。

环境参数一致性与信号漂移的对照示意

苹果在移除 DNT 时给出的理由,是目前最直接的官方佐证:这个头部字段可以被当作指纹变量使用。能用和会被重用,是两回事。稳妥的理解是,DNT 处在网站可读取的范围内,具体影响多大,取决于采集方的做法,不取决于这个开关本身。

想检查自己的环境暴露了哪些特征,可以按 Whoer 检测评分指南的排查顺序逐项过一遍。DNT 类信号也在检测页面的返回项里。

如何检查指纹浏览器里的 DNT

检查的核心只有一条:以网站实际收到的信号为准,而不是以设置页上的开关为准。DNT 已被弃用,各浏览器对它的支持情况存在差异。Firefox 135 已经移除了原有设置,MDN 也把 DNT 头和 navigator.doNotTrack 都标记为弃用。

开关状态和实际发出的信号,不保证是同一件事。

具体检查按这张表走:

检查项需要确认什么
浏览器支持当前浏览器是否仍支持 DNT,弃用后可能已移除发送逻辑
请求头实际请求中是否存在 DNT 字段,值是 1、0 还是未发送
脚本读取访问检测页时 navigator.doNotTrack 返回什么
结果解释不支持、未发送和返回不同值是三种情况,不能混为一谈
指纹浏览器中 DNT 信号的检查流程示意

请求头和脚本读取的结果最好交叉对照。两条路读到的值一致,说明这个环境的信号是自洽的。对不上,就值得查一下环境的浏览器内核版本和配置。

MostMate 是一款把浏览器配置按环境分开的指纹浏览器。每个账号一套环境,参数集合独立保存。登录哪个环境就用哪套配置。环境之间互不串用。Do Not Track 这类浏览器层信号,和语言、时区、WebRTC 一起收在环境配置里统一管理,切换环境时不需要单独处理。UA 一致性检查指南里讲过「同一环境参数不漂移」的检查思路,对 DNT 同样适用。各功能模块的分工,可以看产品说明页。

MostMate 的环境指纹配置页面

再往深一步,判断环境之间还有没有其他不对齐的地方,可以按照账号关联风险自查指南的排查步骤操作。把环境配置、代理和账号操作记录放在一起核对。DNT 只是其中一项。单独看它意义不大。

常见问题

Do Not Track 开了有用吗?

作用有限。它是一份没有强制力的声明,没有得到足够广泛的遵守,不会主动阻止追踪脚本运行。内容拦截类工具属于另一种机制,直接挡掉追踪请求,两者不是一回事。

DNT 和无痕模式有什么区别?

两件事。DNT 是发给网站的声明,管的是「对方能不能追踪」;无痕模式是本地行为,管的是「浏览记录和 Cookie 是否落在这台设备上」。开无痕不会发送 DNT,开 DNT 也挡不住网站读取你的指纹。

GPC 会取代 DNT 吗?

方向上是的。GPC 用 Sec-GPC 头表达同样的退出意愿,它的法律效力来自具体隐私法规的适用范围。在法规覆盖的场景里网站必须响应,这是 DNT 从未获得的地位。它不是在所有地区、对所有网站都生效。

结语

Do Not Track 的十五年,证明了「礼貌请求」挡不住「商业追踪」,也展示了指纹识别的一个细节:一个表达隐私偏好的开关,本身也在网站可读取的范围内。

对多账号运营者,能落地的做法是检查而不是纠结开关方向:确认浏览器支持情况,核对请求头与脚本读取的结果,保证同一环境的取值不漂移。

环境与信号的配置体系还没搭起来的,可以先读浏览器指纹是什么补齐概念,再到 MostMate 里把环境配置固定下来。信号层面的东西,从第一天就该稳住。

MOSTMATE

让多账号安全管理更简单

从第一个账号开始,用 MostMate 建立更安全、更智能、更高效的多账号运营方式。

  • 环境彼此独立,身份逻辑一致。
  • AI 自动化 · 账号健康 · 团队运营
下载 MostMate