热门问题
时间线
聊天
视角

HTTP 301

HTTP回應狀態碼 来自维基百科,自由的百科全书

HTTP 301
Remove ads

301 Move PermanentlyHTTP協議中的一個狀態碼(Status Code)。可以簡單地理解為該資源已經被永久改變了位置[1],通常會發送HTTP Location重定向到正確的新位置。

返回301狀態碼進行跳轉被Google認為是將網站地址由HTTP遷移到HTTPS的最佳方法。[2]

定義

根據定義: [3][4][5]

  • 如果一個客戶端有鏈接編輯能力,其應當把所有的引用鏈接重定向到新的URL上。
  • 這個響應代碼是可以被緩存的。[6][7]
  • 除非請求方法是HEAD,否則響應實體應該包含一個小型的超文本,標註一個超鏈接到新的URL。
  • 如果是除了GET和HEAD之外的請求方法,客戶端必須在重定向之前詢問用戶。

例子

客戶端發出請求:

GET /blog HTTP/1.1
Host: www.example.com

服務器回應,不帶Cache-Control頭部:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp

服務器回應,帶Cache-Control頭部:

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp
Cache-control: private; max-age=600

客戶端實現問題

當某些HTTP/1.0客戶端收到該狀態碼時,可能會將POST方法改為GET方法,繼續向新地址發出請求,這是錯誤的實現——故而後續標準引入了HTTP 307[8]

搜索引擎優化

由於該代碼表示頁面地址發生了較長久的改變,故Bing[9]Google[10]等搜索引擎都推薦使用301重定向,以改變搜索引擎中的實際頁面地址。

相關條目

參考文獻

外部連結

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads