微软 Edge 浏览器 Tracking Prevention 的强制措施的一个例子
Microsoft Edge 中跟踪预防功能的第一个组件是分类。 为了对在线跟踪器进行分类并将它们分组,Microsoft Edge 使用了断开连接开源跟踪保护列表, 即所谓的 Disconnect open source tracking protection lists
.
这些列表通过“信任保护列表”组件提供,该组件可在 edge://components
中查看。
下载后,列表存储在磁盘上,开发人员可以使用它们来确定特定 URL 是否分类或如何分类。
为了确定某个 URL 是否被 Microsoft Edge 中的分类系统视为跟踪器,系统会检查一系列主机名,从完全匹配开始,然后继续检查顶级域之外最多四个标签的部分匹配。
例子:如果我们有如下的 url:https://a.subdomain.of.a.known.tracker.test/some/path
下列 hotname 会被 测试:
a.subdomain.of.a.known.tracker.test
of.a.known.tracker.test
a.known.tracker.test
known.tracker.test
tracker.test
如果这些主机名中的任何一个与断开连接列表中的主机名匹配,Microsoft Edge 将继续评估强制措施以防止用户被跟踪。
为了防止网络上的跟踪操作,Microsoft Edge 对分类跟踪器采取了两项强制措施:
限制存储访问 - 如果已知跟踪资源尝试访问任何可能尝试保留用户数据的 Web 存储,Microsoft Edge 会阻止该访问。 这包括限制该跟踪器获取或设置 cookie 以及访问 IndexedDB 和 localStorage 等存储 API 的能力。
阻止资源加载 - 如果网站上正在加载已知的跟踪资源,Microsoft Edge 可能会在请求到达网络之前阻止该加载,具体取决于负载的兼容性影响和用户设置的跟踪阻止设置。 阻止的加载可能包括跟踪脚本、像素、iframe 等。 这可以防止任何可能发送到跟踪域的数据,甚至可能会提高加载时间和页面性能作为副作用。
最典型的一个行为,就是应用程序发起的 HTTP 请求,被 Edge 阻止,返回错误消息:net::ERR_BLOCKED_BY_CLIENT,如下图所示:
版权声明: 本文为 InfoQ 作者【Jerry Wang】的原创文章。
原文链接:【http://xie.infoq.cn/article/4d4a2948c4ba90859a4308013】。文章转载请联系作者。
评论