301跳轉和302跳轉有啥差別?以下這篇文章就來帶大家對比一下301與302跳轉,聊聊它們的區別,以及這兩種轉移在使用的時候有啥好處或者問題等,希望對大家有所幫助!
301和302 Http狀態有啥差異?
301, 302 都是HTTP 狀態的編碼,都代表著某個URL發生了轉移,不同之處在於: 301 redirect: 301 代表永久性轉移(Permanently Moved), 302 redirect: 302 代表暫時性轉移(Temporarily Moved ), 當然Http 狀態200 標示並沒有任何問題發生。
這兩種轉移在使用的時候有啥好處或問題?
301 重定向是網頁更改地址後對搜尋引擎友好的最好方法,只要不是暫時搬移的情況,都建議使用301來做轉址。 302 重定向是暫時性轉移。
在前幾年,不少Black Hat SEO曾廣泛應用這項技術作弊,目前,各大主要搜尋引擎均加強了打擊力度,象Google前幾年對Business.com以及近來對BMW德國網站的懲罰。即使網站客觀上不是spam,也很容易被搜尋引擎容易誤判為spam而遭到懲罰。
研究搜尋引擎優化(SEO)的人,應該都知道,301, 302 使用不當,或者靈活使用會有不錯的效果的,比如參看下面文章:
如果是運維人員,設定WEB伺服器的一些設定就可以實現跳轉,例如下面一些關於IIS實作重定向的文章
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/iis/fbcccfce-6695-4f92-bd55-869d85ffcccfce-6695-4f92-bd55-869d85ffcccfce-6695-4f92-bd55-869d85ffcccfce-mspxfbx true
重定向參考(IIS 6.0)
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/zh-chs/library/iis/ 41c238b2-1188-488f-bf2d-464383b1bb08.mspx?mfr=true
其他WEB伺服器也可以透過設定實現跳轉,我就不羅列了。
從技術人員來說我們比較常用的跳轉方法有以下幾種:
我們使用
Fiddler 工具來監控的下面提到的幾種方法,看跳轉過程中HTTP 狀態碼是301? 302 ? 200? :方法1:
狀態碼302 暫時性跳轉
#方法2:
meta fresh: 這在2000年前比較流行,不過現在已很少見。其具體是透過網頁中的meta指令,在特定時間後重定向到新的網頁,如果延遲的時間太短(約5秒之內),會被判斷為spam。這種跳轉方式,整個跳轉過程中,頁面 Http 狀態都是200,即,頁面沒有任何錯誤發生。
方法3:Server.Transfer("Test.aspx");
這種跳轉方式,整個跳轉過程中,頁面Http 狀態都是200 ,即,頁面沒有任何錯誤發生。 方法4:
URLRewrite#########這種跳轉方式,整個跳轉過程中,頁面 Http 狀態都是200,即,頁面沒有任何錯誤發生。 ######沒有一種是301跳躍。也就是上面幾種跳轉方式都用不到301跳轉的好處。 #########使用301跳轉有啥好處呢? #########SEO(搜尋引擎優化)中提到一點:如果我們把一個地址採用301跳轉方式跳轉的話,搜尋引擎會把舊地址的PageRank等資訊帶到新地址,同時在搜尋引擎索引庫中徹底廢棄原來的舊地址。 #########如何編碼實現301跳轉呢? ######Response.Status = "301 Moved Permanently"; Response.AddHeader("Location","..."); //这里的 ... 表示你要跳转去的页面。
以上是Http狀態:301與302跳轉有啥差異?使用時有啥好處或問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!