Google Chrome在去年10月底公布Manifest V3草案,准备以Declarative Net Request API来取代Web Request API的内容封锁功能,却引起广告封锁程序开发商的反弹,抨击Google此举是为了消灭广告封锁程序的生存空间,不过Google在本周特地澄清,该变更将让开发人员可打造更安全及更具性能的广告封锁程序。
负责Chrome扩展程序开发人员关系的Simeon Vincent,详细说明了Web Request API与Declarative Net Request API的运行方式,试图向外界解释Google的立场。
根据Vincent的说法,Web Request API会把一个网络请求的所有数据都送至扩展程序,包含个人照片或电子邮件等机密数据,再由扩展程序评估该请求,并要求Chrome进行处理,如允许它、封锁它或是修改后再发送等,因此,Web Request API通常能够访问及读取用户在网络上所做的所有事。
对一个刚正的开发人员来说,Web Request API代表的是强大的功能,然而,恶意的开发人员也很容易利用它来访问用户的机密数据。根据Google的统计,自2018年1月以来所发现的恶意扩展程序,就有42%使用Web Request API。
至于Declarative Net Request API则有与Web Request API截然不同的作法,扩展程序必须先注册各种规则,当Chrome遇见特定形态的请求时就能依照规则执行。
Vincent指出,Declarative Net Request API同时保障了用户的安全及隐私,还改善了性能。因为通过此API,Chrome再也不会向扩展程序披露任何机密数据,浏览器不必再传递所有与该网络请求相关的数据给扩展程序,而只依照扩展程序所制定的规则行动,这意味着开发人员依旧能够封锁特定内容,却不用访问用户的所有个人信息。
而且由于这些规则都是事先订好的,并非于运行时处理,也减少了把所有数据发送给扩展程序的成本,因此更能增进性能。
虽然有些开发人员希望Google可以同时维持Declarative Net Request API及Web Request API的封锁功能,但Vincent明白表示,Chrome团队坚信若扩展程序的功能并不需要访问用户的机密数据,就不该把这些电子邮件、照片、社交媒体内容或其它个人机密数据发送给扩展程序。
除了解释Web Request API与Declarative Net Request API的差异之外,Chrome团队也宣布Net Request API规则的数量限制,从3万增加到15万,让开发人员有更充裕的规则制定空间。
这项改变,让广告或内容封锁程序的开发人员必须重新调整程序的设计,开发Ghostery广告及定位器封锁程序的Jeremy Tillman向Wired透露,Declarative Net Request API本身并不是坏事,但如果它缺乏Web Requests API的弹性,还只是唯一选择的时候,就是坏事了。
目前Chrome团队尚未确定Manifest V3正式版的出炉时间,除了企业版Chrome可继续支持具封锁功能的Web Request API之外,包括Opera与Vivaldi等基于Chromium的浏览器也宣布会继续支持封锁版的Web Request API。