HTTP 标头 | DNT
HTTP DNT 标头是一个请求标头,允许用户选择是否可以通过他们通过 HTTP 与之通信的每个服务器和 Web 应用程序跟踪他们的活动。生成的标头字段是一种允许用户选择加入或退出跟踪的机制。跟踪允许用户体验网络上的个性化内容。选择退出跟踪的选项是随着用户日益增长的隐私需求而创建的。
只有用户启用了跟踪首选项才能设置它。如果用户设置了未启用的跟踪首选项,则不允许用户代理显示跟踪首选项表达式。
句法:
DNT:0
DNT:1
指令:
如果跟踪首选项设置为启用,则会为 HTTP DNT 标头字段生成以下字段值
- 1:该指令表示用户禁止在目标站点进行跟踪。
- 0:此指令指示用户允许跟踪或用户已在给定目标站点授予异常。
注意: DNT 标头字段可以有零个或多个扩展名。扩展名由用户代理决定。如果定义了扩展名但未设置跟踪首选项,则可以插入不带字段值的 DNT 头字段。
例子:
- 这是一个来自 W3C(万维网联盟)的 DNT 标头设置为字段值 - 1 的示例:
GET /something/here HTTP/1.1 Host: example.com DNT: 1
- 可以使用 JavaScript 的navigator.doNotTrack属性检查 DNT 标头字段的值。
console.log(navigator.doNotTrack); // prints "1" if DNT is enabled; "0" // if the user opted-in for tracking; // prints "null" if unspecified
- Safari 7.1.3+ , Edge , IE11 及后续版本使用window.doNotTrack而不是navigator.doNotTrack
- 在 Firefox 32 之前, navigator.doNotTrack会报告 yes 和 no 的值,而不是 1 和 0。
支持的浏览器: HTTP DNT Header支持的浏览器如下所列
- 谷歌浏览器
- IE浏览器
- 微软边缘
- 火狐
- 歌剧