一名开发者发表博客称,Android 版 Chrome 存在一项功能使得 Google 搜索在激烈的竞争中获得了不公平的优势,此功能专门为优化 Google 搜索引擎的性能而保留。
根据这位开发者的描述,他在浏览 Chromium 的源代码时,发现了一个名为PreconnectToSearch
的选项。启用该选项后,此功能会抢先打开并保持与默认搜索引擎(此处为 Google 搜索)的连接。
Preconnect 即预连接,它会自动解析域名,以及协商和建立与服务器的安全连接。对于 Android 版 Chrome 来说,这些操作会在搜索引擎接收用户的搜索查询之前发生。而抢占这些步骤可以帮助用户节省不少时间,比如在慢速网络连接上节省十几秒,或在快速连接的网络环境中节省半秒。当然,这里假设的情况是预连接只需要少量的处理能力和网络带宽。毕竟,如果用户不打算使用搜索引擎,提前设置连接可能会造成浪费或减慢其他页面的加载速度。
虽然这些优化可以为 Google 的用户带来不错的性能提升,但 Chromium 会检查浏览器的默认搜索引擎设置——仅在设置为 Google 搜索时才启用该功能。这意味着没有其他搜索引擎可以在加载搜索结果所需的时间上与 Google 搜索竞争。因为其他的每个竞争对手都必须等到用户开始输入搜索查询,然后 Chrome 才会建立连接。
与没有使用预连接的竞争对手相比,此功能使 Google 搜索的速度在提供其搜索结果方面领先 80%。
对于为什么仅将此功能限制给 Google 搜索使用,Chromium 的更新日志中有相关说明。他们表示,Google 担心其他搜索引擎可能无法应对此功能导致的连接数量增加。
听起来很合理,但 Chromium 其实可以用更好的方式解决这个问题。其他搜索引擎可以通过其 OpenSearch Descriptions (OSD.) 的扩展来选择加入或退出此功能。OSD 是搜索引擎提供给 Web 浏览器的配置文件,用于告诉浏览器如何将它们设置为浏览器中的搜索提供者。此外,Chrome 也可以使用 Well-Known URI (RFC 5785) 来查询搜索引擎是否要选择加入或退出预连接。