首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Chrome安卓103正式启用私有预取代理,主打用户隐私安全和提高用户响应

最新的安卓Chrome 103版本开始,Chrome将逐步推出Private Prefetch Proxy(PPP,私有预取代理)功能,可以实现Google搜索和其他参与网站的访问速度平均提高30%。该私有预取代理功能可以在保证跨源内容预先请求同时保证用户信息不会泄露给目标网站,只有在用户真正访问时候才会有相关信息提交。

工作原理

安全通信通道

私有预取代理功能使用链接代理,用于在Chrome浏览器和托管要预取内容的服务器之间建立安全通信通道。安全通信通道可防止代理节点检查任何数据传输。虽然私有预取代理需要获得主机名才能建立安全通信通道,但它无需看到完整的URL,更不能看到资源内容。

通过预取网站CONNECTproxy防止泄露用户信息。

安全通信通道是端到端加密的,中间节点看不到主机名,也看不到预取站点的内容。

另外,代理本身会阻止目标服务器查看用户的IP地址。

防止用户身份识别

除了网络方面的特有机制外,私有预取代理还可以防止服务器在预取时通过先前存储在用户设备上的信息来识别用户。为此,Chrome目前将私有预取代理的使用限制在用户没有cookie或其他本地状态的网站上。以下是通过私有预取代理发出的预取请求的限制:

Cookie:预取请求不允许携cookie。

如果资源有cookie,Chrome将进行无凭据的获取,但不会使用响应。

尽管对预取请求的响应可以包含cookie,但只有当用户导航到预取页面时,这些cookie才会被保存。

指纹识别:其他可用于指纹识别的表面也进行了调整。例如,User-Agent预取代理发送的标头仅携带有限的信息。

缓存

Chrome会预取资源,即使它们已经在缓存中,但它们不会携带任何条件标头,例如ETag或者If-Modified-Since,由于他们包含服务器设置的值,即使没有cookie,也可用于跟踪。预获取是为了防止将客户端的缓存状态泄漏到预取的网站。此外,只有当用户决定访问预取的站点时,Chrome才会将预取的资源提交到缓存中。

用途

对于网站所有者

对于用户没有cookie或本地状态的链接,网站所有者无需采取任何操作即可开始受益于私有预取代理。根据测试,对于大多数网站可以实现以超快的页面加载体验。预取大多数多数内容速度可以提20%~30%。

未来,该功能扩展到与cookie或本地状态的链接,同时保持其隐私特性。 Cookie挑战在于它们可能会被用来以难以预测的方式改变用户体验。因此,网站所有者很可能必须选择加入或调整其网站,以便从带有cookie的链接的私有预取代理中受益。

具体来说,虽然预取请求将保持无凭证状态,但当用户导航到网页时,该网页将获得对cookie和其他本地状态的访问权限。开发人员可以利用这一点来添加基于cookie或本地状态的个性化和更改。或者,开发人员可能也有兴趣声明某些资源完全可以预取并按原样使用,而无需cookie(即不依赖于任何cookie的资源)。

如果网站根据用户的IP地址在各个区域的行为有所不同(例如,不同的内容或选择性访问),可能想知道如何处理私有预取代理的预取请求。重要的是要知道私有预取代理由遍布全球的多个服务器提供支持,并且代理的IP将定位到用户发起预取的国家/地区。

因此,考虑到这一点,建议通过设置:

通过是否存在来识别来自私有预取代理的预取请求

HTTP标头。

查找通过其IP地址发出请求的私有预取代理的地理位置。

根据附加到该特定地理位置的市场提供资源。

流量控制

私有预取代理功能通常会导致对主要资源(例如HTML文档)的额外请求少于2%。也就是说,可以使用流量建议的分数字段来控制专用预取代理应允许通过的流量。可以从一小部分开始,例如30%,可通过将以下JSON添加到/.well-known/traffic-advice文件,需要与application/trafficadvice+jsonMIME 类型:

fractio字段取值范围为0.0(无预取)到1.0(100%的预取)之间的浮点数。

也可以通过以下配置完全禁用该功能:

/.well-known/traffic-advice文件由代理而不是客户端获取,并按照通常的 HTTP 缓存语义在代理处缓存。为了获得更大的灵活性(例如,突然出现大量访问高峰),可能需要暂时拒绝预取请求

带有503状态代码,并通过设置Cache-Control: no-store响应的标头。还可以添加 Retry-After 头通知Chrome在重试预取请求之前需要等待多长时间。

对于推荐网站所有者

如果运营的网站有很多指向其他网站的链接,可能有兴趣使用私有预取代理功能来加速这些跨源导航。需要向页面添加推测规则,以便Chrome知道应该通过私有预取代理预取哪个页面。一个简单的例子如下:

此时,要允许其他网站通过Google服务器预加载导航,用户需要在Chrome的预加载设置中选择“扩展预加载”模式。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OivB2BzOSeWPT7YDajJ2bPBw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券