302轉向或者302重定向(302 redirect)指的是當浏覽器要求一個網頁的時候,主機所返回的狀態碼。302狀態碼的意義是暫時轉向到另外一個網址。
另一個更常見的狀態碼是404錯誤(404 error),404錯誤或404狀態碼指的是網頁不存在。
另一個和302狀態碼相關的是301重定向(301 redirect),301重定向指的是本網頁永久性的轉移到另外一個位置。301和302的區別就在於301是永久性重定向,302是暫時重定向。
302重定向和網址劫持(URL hijacking)有什麼關系呢?這要從搜索引擎如何處理302轉向說起。從定義來說,從網址A做一個302重定向到網址B時,主機的隱含意思是網址A隨時有可能改主意,重新顯示本身的內容或轉向其他的地方。大部分的搜索引擎在大部分情況下,當收到302重定向時,一般只要去抓取目標網址就可以了,也就是說網址B。
實際上如果搜索引擎在遇到302轉向時,百分之百的都抓取目標網址B的話,就不用擔心網址URL劫持了。
問題就在於,有的時候搜索引擎,尤其是Google,並不能總是抓取目標網址。為什麼呢?比如說,有的時候A網址很短,但是它做了一個302重定向到B網址,而B網址是一個很長的亂七八糟的URL網址,甚至還有可能包含一些問號之類的參數。很自然的,A網址更加用戶友好,而B網址既難看,又不用戶友好。這時Google很有可能會仍然顯示網址A。
由於搜索引擎排名算法只是程序而不是人,在遇到302重定向的時候,並不能像人一樣的去准確判定哪一個網址更適當,這就造成了網址URL劫持的可能性。也就是說,一個不道德的人在他自己的網址A做一個302重定向到你的網址B,出於某種原因, Google搜索結果所顯示的仍然是網址A,但是所用的網頁內容卻是你的網址B上的內容,這種情況就叫做網址URL劫持。你辛辛苦苦所寫的內容就這樣被別人偷走了。
302重定向所造成的網址URL劫持現象,已經存在一段時間了。不過到目前為止,似乎也沒有什麼更好的解決方法。在正在進行的大爸爸數據中心轉換中,302重定向問題也是要被解決的目標之一。從一些搜索結果來看,網址劫持現象有所改善,但是並沒有完全解決。
如果你遇到你自己的網站網址被劫持的時候,在你自己這一方面並沒有什麼辦法,你只能向Google匯報。