Google改变了Chrome浏览器的一个核心组件的工作方式,以便为用户增加额外的隐私保护。这个Chrome浏览器组件被称为HTTP缓存或共享缓存,它的工作原理是保存网页上加载的资源副本,如图片、CSS文件和JavaScript文件。
其想法是,当用户再次访问同一网站或访问使用相同文件的其他网站时,Chrome将从其内部缓存中加载这些文件,而不是浪费时间重新下载每个文件。
这个组件不仅存在于Chrome浏览器内部,而且从互联网早期开始就存在于所有的网络浏览器内部,作为一种节省带宽的功能。在所有的浏览器中,缓存系统通常以同样的方式工作。每个保存在缓存中的图片、CSS或JS文件都会收到一个存储密钥,这个密钥通常是资源的URL。
例如,图像的存储密钥就是图像URL本身:https://x.example/doge.png,当浏览器加载一个新的页面时,它会在其内部的缓存数据库中搜索该键(URL),并查看是否需要下载图片或从缓存中加载。
不幸的是,这些年来,网络广告和分析公司意识到,这个功能也可以被滥用来追踪用户。检测用户是否访问过某个特定网站。商业上的竞争者可以通过检查缓存中是否有可能是特定网站或特定网站群的资源,来检测用户的浏览历史,缓存还可以用来存储类似cookie的标识符,作为跨站跟踪机制。
但随着本周早些时候发布的Chrome 86,谷歌推出了对这一机制的重要改变。
这个功能被称为 "缓存分区",它的工作原理是根据两个额外的因素来改变HTTP缓存中资源的保存方式。从现在开始,一个资源的存储键将包含三个项目,而不是一个。
通过在缓存预加载检查过程中增加额外的密钥,Chrome有效地阻止了过去所有针对其缓存机制的攻击,因为大多数网站组件将只能访问自己的资源,而无法检查自己没有创建的资源。
不过,在一些场景下,缓存可能会出现交集,但攻击面远比以前小。
谷歌从2019年9月发布的Chrome 77开始就一直在测试缓存分区,并表示新系统不会对用户或开发者产生任何影响。唯一会看到变化的是网站所有者,他们最有可能观察到网络流量增加约4%。
缓存分区目前只在Chrome浏览器中活动,但基于Chromium开源代码的其他浏览器也可以使用,所有这些浏览器最有可能在接下来的几个月内也部署它。其中包括Edge、Brave、Opera、Vivaldi等。
Mozilla也宣布了类似的计划,将实现Chrome的缓存分区机制,但目前还没有截止日期,何时能登陆Firefox。
另一家主要的浏览器厂商苹果,从2019年初开始就一直在使用有限的缓存分区系统。然而,Safari的缓存分区系统只使用了两项检查(#1和#3),而不是Chrome更彻底的三项检查。
本文实例汇总了各类常见语言清除网页缓存方法。分享给大家供大家参考。具体实现...
我是 艺博东 一个思科出身专注于华为的网工。 文章目录 PPP点到点链路层协议 PPP...
2021.4.13 G59号列车 济南西站 15:30出发啦。三年前从东北来到济南如今又将从济...
asp中REDIM的功能是动态定义数组长度 动态数组里面的一个语句,只能出现在过程里...
MVVM模式下WPF动态展示图片,界面选择图标,复制到项目中固定目录下面,保存到数...
引言手风琴特效是比较常见的我之前没有见过用canvas写的就自己上手写了一个拿出...
基带信号和宽带信号 信道信号的传输媒介。 信道传送的信号 基带信号就是发出的直...
申明资料来源于网络及书本通过理解、实践、整理成学习笔记。 文章目录 测试环境...
说明:set aa=server.createobject("ddd") isnull 说明指针为空,指针指到一个无...
本文实例讲述了jsp+servlet+javabean实现数据分页方法。分享给大家供大家参考,...