谷歌浏览器宣布改变HTTP缓存机制 禁用多域名共享资源阻止广告网络追踪
浏览器缓存机制已经工作许多年,当用户加载网页时其资源会被保存在本地方便下次访问读取缓存而非重新加载。
同时部分相同的资源例如脚本等还支持多域名进行共享,这些措施均可以用来节省互联网资源加载网页加载速度。
然而谷歌浏览器已经在V86版里已经调整这种缓存方式 , 现在谷歌浏览器标记缓存所属域名禁止多域名共享资源。
至于禁止原因则是因为广告网络利用这种方式追踪用户,被滥用后基于隐私考虑谷歌浏览器认为有必要进行阻止。
这种工作多年的缓存方式对整个互联网来说都是好事,因为缓存机制和共享机制有助于节省资源开销降低流量等。
在旧的缓存机制里浏览器浏览器会为缓存资源生成密钥,例如利用绝对地址作为密钥然后存储在浏览器数据库里。
而广告网络则会分发某些热门资源,然后测量浏览器响应时间来推测用户是否访问,如缓存资源本地加载速度快。
同时广告网络也可以通过检查缓存资源是否具有特定站点资源来检测用户是否可能在过去某个时间访问特定资源。
也正是如此广告网络多年前就已经意识到可以用这种方式追踪用户,谷歌浏览器认为这已经侵犯用户的隐私信息。
在谷歌浏览器最新版里已经改变缓存机制的工作方式,新版缓存机制已经不再允许不同的域名共享特定缓存资源。
谷歌将缓存内容标记多个密钥,包括站点主域名、资源当前框架、资源绝对地址并在加载内容时对密钥进行检查。
若非属于当前请求域名的缓存资源则不允许调用缓存,因此正常情况下网站必须调用自己的缓存资源来完成加载。
当然缺点是网站的加载速度可能会变慢、消耗更多的网络流量,对网站带宽资源方面的开支可能会略微有所增加。
火狐浏览器也宣布类似的计划来确保隐私安全,不过目前谋智基金会尚未明确说明何时会将该功能引入缓存机制。