小科普 | 為什麼百度谷歌上的網頁需要二次跳轉?

極客灣 發佈 2020-02-08T04:37:16+00:00

這東西有一個江湖傳言,老張在《科技年輪| 瀏覽器的輝煌發展史中稍微提到過2010年前後的「3Q大戰」,也正在那段事件發生過「360劫持百度搜索流量,旗下搜尋引擎抓取百度搜索結果」的事件。

某天我們上網的時候,可能不經意間發現,無論從百度點開什麼連結,都會有一瞬間顯示一個以「baidu.com/link?url=...」為首的陌生網址(網慢的時候尤為明顯),

如果你用谷歌也一樣會經過這麼一個二次跳轉,只不過前綴變成了「google.com/search?source=...」。

為什麼要多跳這麼一下呢?直接跳轉不好嗎?說不定這還會影響你上網的速度?

▌名為「重定向」的枷鎖

這個東西叫做「重定向」,你的一次點擊的一瞬間其實發生了很多事情,主要的目的是方便百度谷歌這些服務商做統計。

首先的你點擊行為會發送到百度的伺服器,進行一次「記錄點擊」,在這段時間內(session),你搜索了什麼(query),又點擊了什麼連結(link),都會被記錄下來(onmousedown),大數據的基礎就這麼來了,個性化、同類推薦機制也建立在此之上。

等等,那我的隱私不就暴露了嘛?也不會,由於跳轉的中轉頁面是隱藏且加密的,通過點擊時賦予referer(引用來源)的URL,過程中剝離wd(關鍵詞)。中間頁得到的是你搜索的referer,而目標網頁得到的referer則是中建頁的URL,舉個簡單的例子:

相當於你用外賣軟體點了杯奶茶,自動給你分配了一個外賣員,外賣員老張知道你點的是杯阿帕茶,最終奶茶店只知道是外賣員老張取了杯阿帕茶。但收到的單子這麼多,有典明粥、阿帕茶、昏睡紅茶,壓根不知道具體是誰點的什麼茶、送到哪兒。

根據中國網民的習慣,百度通過「window.location.replace」腳本實現新開窗口,如果你用的是谷歌,則會直接在原網頁上跳轉。此外,還會通過一些小手段驗證點擊真實性,防止爬蟲、刷點擊,也會剝離Opener保障安全。

▌重定向是怎麼來的?

那它是怎麼來的呢?這東西有一個江湖傳言,老張在《科技年輪 | 瀏覽器的輝煌發展史(下)》(戳這裡)中稍微提到過2010年前後的「3Q大戰」,也正在那段事件發生過「360劫持百度搜索流量,旗下搜尋引擎抓取百度搜索結果」的事件。

那之後的結果就是百度加入了一套搜索加密算法(發展到前兩年的驚雷算法),除了防止被競爭對手抓取結果外,也有著制網站刷流量影響搜索結果、方便數據統計等好處(主要還是賺更多的錢)。

▌如何去除重定向?

本質上這個過程確實會消耗時間、影響網速,如何移除百度或者谷歌的重定向呢?如果你是Chrome內核的的瀏覽器,可以直接安裝「百度優化」之類的擴展插件,

支持百度、谷歌、必應、搜狗四個引擎,還附帶一定的去廣告功能,還能多列顯示,適應高解析度顯示器。

如果你是Firefox瀏覽器,可以使用油猴腳本(Tamper Monkey)安裝「AC-baidu」腳本。

參考&引用:

zhang.ge/5064.html

googlenb.com/info/27.html

zhihu.com/question/20810368

關鍵字: