在Android端Chrome瀏覽器中,在搜索引擎競爭中Google Search存在天然的優(yōu)勢。這不僅在于Google Search是Chrome的默認搜索引擎,而且還專門為Google Search進行了性能優(yōu)化。程序員Daniel Aleksandersen近日探究了Chromium項目的源代碼,發(fā)現(xiàn)這個對其他搜索引擎不公平的地方。
Chromium項目是由Google、其他企業(yè)及個人貢獻者共同開發(fā)的,但是整個項目由Google管理和控制。Aleksandersen在探究其他東西的時候,偶然在代碼中發(fā)現(xiàn)了PreconnectToSearch功能。該功能在啟用之后,會會預(yù)先打開并保持與默認搜索引擎的連接。
預(yù)連接功能會解析域名,并協(xié)商和設(shè)置了與服務(wù)器的安全連接。所有這些事情都需要時間,它們必須在搜索引擎能夠接收用戶的搜索查詢之前發(fā)生。搶占這些步驟可以在緩慢的網(wǎng)絡(luò)連接上節(jié)省十幾秒,在快速連接上節(jié)省半秒。
這種優(yōu)化可以為Google的客戶帶來不錯的性能提升。當然,前提是連接只需要微不足道的處理能力和網(wǎng)絡(luò)帶寬。如果用戶不打算搜索網(wǎng)絡(luò),提前設(shè)置連接可能會造成浪費,或減慢其他網(wǎng)頁的加載速度。
不過這項功能有個小問題,那就是Chromium會檢查默認的搜索引擎設(shè)置,只有當它被設(shè)置為Google Search時才會啟用該功能。這種優(yōu)惠待遇意味著沒有其他搜索引擎能在加載搜索結(jié)果的時間上與Google搜索競爭。每個競爭者都必須等到用戶開始輸入搜索查詢后,Chrome才會建立連接。
與沒有預(yù)連接的競爭對手相比,該功能使Google搜索在提供搜索結(jié)果方面擁有80%的領(lǐng)先優(yōu)勢。相關(guān)代碼的Chromium變更日志照亮了一些關(guān)于為什么該功能以這種方式工作的原因。以下評論伴隨著限制該功能只在Google域名上工作的評論:“這個功能允許我們在Google上進行實驗,而不可能對非Google的DSE產(chǎn)生問題。這將有望防止與其他搜索引擎出現(xiàn)問題或倒退”。
Google擔心,其他搜索引擎可能無法應(yīng)對這一功能所導(dǎo)致的連接數(shù)量增加。這是一個合理的擔憂。連接數(shù)的意外增加可能會使沒有準備的接收者不知所措。這個潛在的問題并不能改變Google給自己帶來不公平競爭優(yōu)勢的事實。
如果他們想,Chromium可以用更好的方式解決這個問題。其他搜索引擎可以通過對其OpenSearch Descriptions(OSD)的擴展來選擇加入或退出。OSD是搜索引擎提供給網(wǎng)絡(luò)瀏覽器的一個配置文件,告訴它們?nèi)绾螌⑺鼈冊O(shè)置為瀏覽器中的搜索提供者。Chrome也可以使用Well-Known URI(RFC 5785)來查詢搜索引擎是否要選擇加入或退出預(yù)連接。