為什么 uBlock Origin 在 Firefox 上運(yùn)行效果最好?
uBlock Origin 作者 Raymond Hill 解釋了為什么他開發(fā)的廣告屏蔽擴(kuò)展插件(以下簡(jiǎn)稱 uBO)在 Firefox 上的運(yùn)行效果最好,主要原因包括支持使用 CNAME 記錄、獨(dú)家支持webRequest.filterResponseData()API、可靠地阻止預(yù)取,以及使用 WebAssembly 作為核心的過濾代碼路徑等。
支持使用 CNAME 記錄
Firefox 支持曝光利用 CNAME 記錄 (CNAME record) 偽裝成第一方的第三方服務(wù),這樣做的效果是使 Firefox 上的 uBO 相對(duì)于其他其他同類瀏覽器而言,可最有效地阻止第三方跟蹤器。
HTML 過濾
僅 Firefox 支持的webRequest.filterResponseData()API 讓它可以在解析 HTML 文檔前過濾響應(yīng)體。因此, 這允許 HTML 文檔中的特定標(biāo)簽在被瀏覽器解析和執(zhí)行之前刪除,而這在其他瀏覽器中是不可能實(shí)現(xiàn)的。
瀏覽器啟動(dòng)時(shí)支持等待 uBO 準(zhǔn)備就緒
Firefox 支持在 uBO 啟動(dòng)后發(fā)送網(wǎng)絡(luò)請(qǐng)求,這也是 Firefox 獨(dú)家功能。對(duì)于 Chromium 系瀏覽器而言,跟蹤器/廣告負(fù)載在 uBO 啟動(dòng)前可能就已進(jìn)入打開的選項(xiàng)卡,同樣的情況卻不會(huì)發(fā)生在 Firefox 中,因?yàn)樗С值鹊?uBO 正常運(yùn)行后再發(fā)送網(wǎng)絡(luò)請(qǐng)求,這樣就能對(duì)廣告內(nèi)容進(jìn)行正確過濾。
預(yù)取
Firefox 能夠可靠地阻止預(yù)取,而基于 Chromium 的瀏覽器無法這么做,因?yàn)楫?dāng)決定是否禁用預(yù)提取功能時(shí),這些瀏覽器給予網(wǎng)站的優(yōu)先權(quán)高于用戶設(shè)置。
WebAssembly
Firefox 版本 uBO 支持使用 WebAssembly 作為核心的過濾代碼路徑。詳情點(diǎn)此查看。
存儲(chǔ)壓縮
默認(rèn)情況下,F(xiàn)irefox 版本 uBo 使用 LZ4 壓縮算法將原始過濾器列表、已編譯列表數(shù)據(jù)和內(nèi)存快照存儲(chǔ)到磁盤存儲(chǔ)中。LZ4 壓縮算法需要使用IndexedDB,這在基于 Chromium 瀏覽器的隱身模式下是有問題的——IndexedDB實(shí)例始終被重置,導(dǎo)致 uBO 總是低效啟動(dòng)并影響過濾列表的加載。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:為什么 uBlock Origin 在 Firefox 上運(yùn)行效果最好?
本文地址:https://www.oschina.net/news/138029/ublock-origin-works-best-on-firefox