? ? ? ? 由于最近一直在接觸與抓網站相關的工作,在無意之中接觸到了一些之前不知道的有關網站跳轉的知識,我簡單的介紹一下。
? ? ? ? 先講一下重定向,大家應該都有所了解,簡單來說就是地址A跳轉到地址B(簡略理解就是平常所見的頁面跳轉)。百度百科的解釋:重定向(Redirect)就是通過各種方法將各種網絡請求重新定個方向轉到其它位置(如:網頁重定向、域名的重定向、路由選擇的變化也是對數據報文經由路徑的一種重定向)。
? ? ? ? 301和302狀態碼都表示重定向,就是說瀏覽器在拿到服務器返回的這個狀態碼后會自動跳轉到一個新的URL地址,這個地址可以從響應的Location首部中獲?。ㄓ脩艨吹降男Ч褪撬斎氲牡刂稟瞬間變成了另一個地址B)——這是它們的共同點。
? ? ? ? 他們的不同在于。301表示舊地址A的資源已經被永久地移除了(這個資源不可訪問了),搜索引擎在抓取新內容的同時也將舊的網址交換為重定向之后的網址;302表示舊地址A的資源還在(仍然可以訪問),這個重定向只是臨時地從舊地址A跳轉到地址B,搜索引擎會抓取新的內容而保存舊的網址。??
? ? ? ? 個人理解,301的意思就像是你自己原本有套房子,然后你想再買套房子,但是錢不夠,沒辦法,你只能賣了原來的那套房,然后去買新的那套房,那么你原來的那套房你肯定就不能住了,只能住新的那套房(相當于你現在只能訪問這個新網站,舊網站已經不屬于你了)。302的意思就像是你自己原本有套房,然后還想買套房,然后你發現你父母那邊有套房,然后你就不想買了,你想待在你父母那套房子里,然后你肯定可以搬過去住了(住著住著可能就成你的了),但是你原來的自己那套房肯定你也是隨時可以回去住的(相當于獲取新的網站資源,同時舊的網站資源還是你的)。
? ? ? ? 到這里,大家可以明顯感受到了302這種臨時性跳轉的優點,但是還是建議大家使用301這種跳轉方式。為什么???
? ? ? ? 302跳轉(住著住著可能就成你的了-----------網址劫持)通過302跳轉,問題就在于,有的時候搜索引擎,尤其是Google,并不能總是抓取目標網址B。比如說,有的時候A 網址很短,但是它做了一個302 重定向到B 網址,而B 網址是一個很長的亂七八糟的URL 網址,甚至還有可能包含一些問號之類的參數。很自然的,A 網址更加用戶友好,而B 網址既長,又不用戶友好。這時Google 很有可能會仍然顯示網址A。由于搜索引擎排名算法只是程序而不是人,在遇到302 重定向的時候,并不能像人一樣的去準確判定哪一個網址更適當,這就造成了網址URL劫持的可能性。也就是說,一個不道德的人在他自己的網址A 做一個302 重定向到你的網址B,出于某種原因, Google 搜索結果所顯示的仍然是網址A,但是所用的網頁內容卻是網址B 上的內容(原本是你父母的房子,卻變成了你名下的房子),這種情況就叫做網址URL 劫持。
? ? ? ? 302跳轉,被一些人用來作弊,從網站A(網站比較爛)上做了一個302跳轉到網站B(搜索排名很靠前),這時候有時搜索引擎會使用網站B的內容,但卻收錄了網站A的地址,這樣在不知不覺間,網站B在為網站A作貢獻,網站A的排名就靠前了。所以,現在302重定向很容易被搜索引擎誤認為是利用多個域名指向同一網站,那么你的網站就會被封掉,罪名是“利用重復的內容來干擾Google搜索結果的網站排名”。
? ? ? ? 先就寫這么多吧!