http - : X-Chrome-Variations? 的以下 header 是什么

标签 http google-chrome http-headers privacy

我在 Fiddler 中查看 chrome 发送的 http 请求,我注意到下面的 http header 让我感到困惑:

 X-Chrome-Variations: CNa1yQEIjrbJAQiYtskBCKK2yQEIp7bJAQiptskBCLmDygE=

这是一个 base64 编码的 35 字节数组:

8,214,181,201,1,
8,142,182,201,1,
8,152,182,201,1,
8,162,182,201,1,
8,167,182,201,1,
8,169,182,201,1,
8,185,131,202,1

我在网络上看到了这个数字的几个例子。

谁能向我解释这是什么,为什么 chrome 会发送它(以及它是否可以用来识别/跟踪我)?

最佳答案

Google Chrome 开发人员通过为少量随机选择的 Chrome 安装启用一项功能并观察该功能的工作原理来测试实验性功能。对此的常用术语是田间试验。当谷歌浏览器首次运行时,它会生成一个介于 1 和 8192 之间的随机数,然后使用它来确定是否参加特定的现场试验。

Google Chrome and Privacy”白皮书(PDF,2012 年 10 月,当前版本为 Chrome 22.0.1229.79)提供了这些详细信息。

To help guide the construction of features that users actually find useful, a subset of users may get a sneak peek at new functionality before it’s launched to the world at large. The field trials that are currently active on your installation of Chrome will be included in all requests sent to Google servers to allow Google to filter logs for only those generated by a given variation of Chrome. This Chrome-Variations header will not contain any personally identifiable information, and will strictly describe the state of the installation of Chrome itself.

The variations active for a given installation are determined by a seed number between 1 and 8192 (13 bits of entropy) which is randomly selected on first run. If you would like to reset your variations seed, run Chrome with the command line flag “--reset-variation-state”.

Google Chrome 以 *.google.<TLD> 的形式向所有域发送有关哪些现场试验当前处于事件状态的信息。 (其中 .<TLD> 是顶级域,例如 .com、.org、.co.uk、.cn、.biz 等)。大多数但不是所有这些域都归谷歌所有。现场试验标识符存储在 protocol buffer 中,用 base64 编码并在 X-Chrome-Variations 中发送 header 。如果您已选择向 Google 发送使用统计信息和崩溃报告(可在 chrome://​chrome/​settings/​search#privacy 访问的复选框),则 X-Chrome-UMA-Enabled: 1标题也被发送。在隐身模式下不会发送 header 。

revision 156914 开头(根据 release table 包含在 Chrome 23 及更高版本中),现场试验列表显示在 about:version 的 Variations 标题下。页面。

相关源代码在chromium/​src/​chrome/​browser/​renderer_host/​chrome_resource_dispatcher_host_delegate.cc中文件。 header 在 ChromeResourceDispatcherHostDelegate::​AppendChromeMetricsHeaders 中发送方法。 X-Chrome-Variations 的值 build 于 ChromeResourceDispatcherHostDelegate::​UpdateVariationIDsHeaderValue方法。现场试验使用 base::FieldTrial 定义来自文件的类 src/​base/​metrics/​field_trial.h

至于使用这些 header 跟踪您的能力,这取决于您现场试验的实际组合的唯一性属性,我不知道这一点。但请记住,即使您剥离了 X-Chrome-Variations header 、禁用 cookie、本地存储和 Flash 本地存储,您的浏览器仍可使用 cache fingerprinting 识别技术或结合使用它通常发送的请求 header 、可用于 JavaScript 或 Flash 的系统配置信息以及可能使用的 IP 地址 block ,如 EFF 的 Panopticlick 所示。 .因此,除非您使用精心配置的 Tor,否则隐私游戏基本上就输了。使用 Privoxy 设置,即使这样泄漏也是可能的。

关于http - : X-Chrome-Variations? 的以下 header 是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12183575/

相关文章:

java - response.sendRedirect 到来自 Chrome 的文件 URL

javascript - 网络 worker 中的 getUserMedia

android - 弧焊机切断 Action 条

javascript - 帧间 SOP - Chrome 扩展

c# - C# 中的 HTTP post XML 数据

python - 如何在 Azure Functions API (Python) 中处理 CORS 预检?

asp.net - IIS 7 似乎正在删除明确设置的内容类型。我怎么能阻止这个?

java - Java 中的简单 HTTP 服务器,仅使用 Java SE API

powershell - 休息 API : adapt a curl post to powershell

http - 何时从 http 请求规范中使用 absoluteUri?