HTTP中302與301的區別以及在ASP.NET中如何?

來源:互聯網
上載者:User

標籤:style   c   tar   http   color   a   

一.官方說法
301,302 都是HTTP狀態的編碼,都代表著某個URL發生了轉移,不同之處在於: 
301 redirect: 301 代表永久性轉移(Permanently Moved)。
302 redirect: 302 代表暫時性轉移(Temporarily Moved )。 
這是很官方的說法,那麼它們的區別到底是什麼呢?

 

二.現實中的差異
2.1.對於使用者
301,302對使用者來說沒有區別,他們看到效果只是一個跳轉,瀏覽器中舊的URL變成了新的URL。頁面跳到了這個新的url指向的地方。
2.2.對於引擎及站長
2.2.1 302
302轉向可能會有URL正常化及網址劫持的問題。可能被搜尋引擎判為可疑轉向,甚至認為是作弊。
網址正常化
請參見:http://www.seozac.com/seo/url-canonicalization/
網址劫持
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劫持。你辛辛苦苦所寫的內容就這樣被別人偷走了。

2.2.2 301
當網頁A用301重新導向轉到網頁B時,搜尋引擎可以肯定網頁A永久的改變位置,或者說實際上不存在了,搜尋引擎就會把網頁B當作唯一有效目標。
301的好處是:
第一, 沒有網址正常化問題。
第二, 也很重要的,網頁A的PR網頁層級會傳到網頁B。

 

使用 ASP.NET 又喜歡跟進新技術的朋友可能已經知道,在 ASP.NET 4.0 中增加了 Response.RedirectPermanent() 方法來實現永久重新導向(301),方法的作用在注釋中解釋的很清楚:執行從所請求 URL 到所指定 URL 的永久重新導向,並提供用於完成響應的選項。

在 ASP.NET MVC 3 項目中,我們可以根據需要來使用以下寫法實現永久重新導向:

public ActionResult Index()

{

return RedirectPermanent("Contact"); return RedirectToActionPermanent("Contact"); return RedirectToRoutePermanent("Contact");

}

過去我們可以通過設定伺服器返回的 HTTP 資料流中的狀態代碼,如指定狀態代碼為301代表永久重新導向,現在在 ASP.NET 4.0 中 ASP.NET Web Forms項目和 ASP.NET MVC 項目中我們都可以非常簡單的實現 URL 永久重新導向。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.