Chrome 将增加对 HTTP Exchanges 的支持,引发争议

2019-01-30 14:45:21 / 打印

Google对HTTP Exchange (SXG)的安全加载现已获得国际互联网工程任务组(The Internet Engineering Task Force)的批准,并在后续版本中得到支持。此功能的主要目的是在安全条件下继续提高页面加载性能,但除了浏览器之外,还需要各种供应链来提供支持。目前分发网络CLOUDFLARE和颁发机构DIGICERT已经支持该特性。

当前推行的安全加载主要是将网页所有资源通过HTTPS加密,  而HTTPS则要求服务器留存数字证书进行验证。为简化网站内容分发,谷歌发起的这项协议能够浏览器加载网站资源时,保证HTTPS加密但不要求服务器一致。例如某个比较通用的资源在加载时既可以从网站源服务器加载,也可以通过该特性通过其他服务器进行加载。

HTTP Exchanges 的工作方式是允许内容发布者对 HTTP Exchanges 进行签名,然后可以通过缓存服务器来提供相关网页服务。这使浏览器可以从任何服务器加载已签名的资源,同时仍然能够在地址栏中显示当前发布者的 URL。

通过这种方式,SXG 被添加到 Web 浏览器之后,Web 将在互联网上发布,不必依赖于特定的服务器、连接或托管服务。它使出版商能够安全地使其他网站内容,也可在其他方重新分发,同时仍然保持内容的完整性和属性。

该特性由谷歌发起目前主要推动者也是谷歌公司,实质是谷歌为 AMP 移动页面加速计划而开发的。

目前网站接入 AMP 加速后使用谷歌提供的统一域名,对于网站来说这种域名可能并不利于网站品牌的建立。

通过 HTTP Exchanges 协议能够让网站使用自己的域名,但所有AMP页面的资源全部由谷歌公司进行分发。

如果想要达到这个目的又保证全程HTTPS的话就需要HTTP Exchanges的支持了,不然加载时可能会被拦截。

所以本质上这是谷歌为简化 AMP 加速页面的构建分发,估计除这个目的外其他网站应该也不会用到该协议。

目前,协议实验室(Protocol Labs)已经在 IFPS 点对点协议的基础上进行了 HTTP Exchanges 相关实验。此外,Cloudfy 已经实现了缓存 AMP 内容的相关功能。

互联网工程任务组(IETF)已签署一份的 HTTP Exchange Internet-Draft 工作文件,已于1月23日在 IETF 的网站上发布,截止日期为7月27日。

Intentto Ship页面声明,SXG 功能将在所有六个 Blink平台(即 Windows、Mac、Linux、Chrome OS、Android 和Android WebView)上提供,允许通过规范的签名交换格式和加载签名的方式交换信息。

Chrome71 在 PC 版本和 Android 版本已经支持这项试验性功能,SXG也已经得到了 Opera 浏览器的支持。

然而,Mozilla Firefox(火狐)却认为这项功能弊大于利:

虽然谷歌浏览器已经计划支持这个新特性,不过火狐浏览器经过严格讨论后认为该功能可能对安全加载有害。

谋智基金会认为在没有从源站进行证书验证的情况下,从别人的服务器加载资源可能会造成大范围恶意攻击。

但火狐也没有表明后续依然不支持该特性,火狐表示如果能解决潜在问题例如只加载纯文本那还可以支持的。

此外诸如微软的MicrosoftEdge浏览器正在对此功能进行评估,而Apple Safari浏览器则对该功能表示怀疑。