HTTP狀態碼學習

當瀏覽者訪問一個網頁時,瀏覽者的瀏覽器會向網頁所在服務器發出請求。當瀏覽器接收並顯示網頁前,此網頁所在的服務器會返回一個包含HTTP狀態碼的信息頭(server header)用以響應瀏覽器的請求。

下面是常見的HTTP狀態碼:

  • 200 - 請求成功
  • 301 - 資源(網頁等)被永久轉移到其它URL
  • 404 - 請求的資源(網頁等)不存在
  • 500 - 內部服務器錯誤

HTTP狀態碼由三個十進制數字組成,第一個十進制數字定義了狀態碼的類型,後兩個數字沒有分類的作用。HTTP狀態碼共分爲5種類型:

以下是常見狀態碼的五中類型及狀態碼的解釋說明:

1、1xx(臨時響應),表示信息,服務器收到請求,需要請求者繼續執行操作。

  100(繼續)——請求者應當繼續提出請求。服務器返回此代碼表示已收到請求的第一部分,正在等待其餘部分

  101(切換協議)——請求者已要求服務器切換協議,服務器已確認並準備切換

2、2xx(成功),表示操作被成功接收並處理

  200(成功)——服務器已成功處理了請求。通常,這表示服務器提供了請求的網頁。如果是對您的 robots.txt 文件顯示此狀態碼,則表示 Googlebot 已成功檢索到該文件。

  201(已創建)——請求成功並且服務器創建了新的資源

  202(已接受)——服務器已接受請求,但尚未處理

  203(非授權信息)——服務器已成功處理了請求,但返回的信息可能來自另一來源

  204(無內容)——服務器成功處理了請求,但沒有返回任何內容

  205(重置內容)——服務器成功處理了請求,但沒有返回任何內容。與 204 響應不同,此響應要求請求者重置文檔視圖(例如,清除表單內容以輸入新內容)

  206(部分內容)——服務器成功處理了部分 GET 請求

3、3xx(重定向),需要進一步的操作以完成請求。通常,這些狀態碼用來重定向。

  300(多種選擇)——針對請求,服務器可執行多種操作。服務器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇

  301(永久移動)——請求的網頁已永久移動到新位置。服務器返回此響應(對 GET 或 HEAD 請求的響應)時,會自動將請求者轉到新位置。您應使用此代碼告訴 Googlebot 某個網頁或網站已永久移動到新位置

  302(臨時移動)——服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來響應以後的請求。此代碼與響應 GET 和 HEAD 請求的 301 代碼類似,會自動將請求者轉到不同的位置,但您不應使用此代碼來告訴 Googlebot 某個網頁或網站已經移動,因爲 Googlebot 會繼續抓取原有位置並編制索引

  303(查看其他位置)——請求者應當對不同的位置使用單獨的 GET 請求來檢索響應時,服務器返回此代碼。對於除 HEAD 之外的所有請求,服務器會自動轉到其他位置

  304(未修改)——如果網頁自請求者上次請求後再也沒有更改過,您應將服務器配置爲返回此響應(稱爲 If-Modified-Since HTTP 標頭)。服務器可以告訴 Googlebot 自從上次抓取後網頁沒有變更,進而節省帶寬和開銷

  305(使用代理)——請求者只能使用代理訪問請求的網頁。如果服務器返回此響應,還表示請求者應使用代理

  307(臨時重定向)——服務器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來響應以後的請求。此代碼與響應 GET 和 HEAD 請求的 301 代碼類似,會自動將請求者轉到不同的位置,但您不應使用此代碼來告訴 Googlebot 某個頁面或網站已經移動,因爲 Googlebot 會繼續抓取原有位置並編制索引

4、4xx(請求錯誤),客戶端錯誤,請求包含語法錯誤或無法完成請求

  400(錯誤請求)——服務器不理解請求的語法

  401(未授權)——請求要求身份驗證。對於登錄後請求的網頁,服務器可能返回此響應

  403(禁止)——服務器拒絕請求。可能是您的服務器或主機拒絕了訪問

  404(未找到)——服務器找不到請求的網頁。例如,對於服務器上不存在的網頁經常會返回此代碼。

  405(方法禁用)——禁用請求中指定的方法

  406(不接受)——無法使用請求的內容特性響應請求的網頁

  407(需要代理授權)——此狀態碼請求要求代理的身份認證,與401類似,但指定請求者應當授權使用代理。如果服務器返回此響應,還表示請求者應當使用代理。

  408(請求超時)——服務器等候請求時發生超時

  409(衝突)——服務器在完成請求時發生衝突。服務器必須在響應中包含有關衝突的信息。服務器在響應與前一個請求相沖突的 PUT 請求時可能會返回此代碼,以及兩個請求的差異列表

  410(已刪除)——如果請求的資源已永久刪除,服務器就會返回此響應。該代碼與 404(未找到)代碼類似,但在資源以前存在而現在不存在的情況下,有時會用來替代 404 代碼。如果資源已永久移動,您應使用 301 指定資源的新位置

  411(需要有效長度)——服務器不接受不含有效內容長度標頭字段的請求

  412(未滿足前提條件)——服務器未滿足請求者在請求中設置的其中一個前提條件

  413(請求實體過大)——服務器無法處理請求,因爲請求實體過大,超出服務器的處理能力

  414(請求的 URI 過長)——請求的 URI(通常爲網址)過長,服務器無法處理

  415(不支持的媒體類型)——請求的格式不受請求頁面的支持

  416(請求範圍不符合要求)——如果頁面無法提供請求的範圍,則服務器會返回此狀態碼

  417(未滿足期望值)——服務器未滿足”期望”請求標頭字段的要求

5、5xx(服務器錯誤),這些狀態碼錶示服務器在處理請求時發生內部錯誤。這些錯誤可能是服務器本身的錯誤,而不是請求出錯

  500(服務器內部錯誤)——服務器遇到錯誤,無法完成請求

  501(尚未實施)——服務器不具備完成請求的功能。例如,服務器無法識別請求方法時可能會返回此代碼

  502(錯誤網關)——服務器作爲網關或代理,從上游服務器收到無效響應

  503(服務不可用)——服務器目前無法使用(由於超載或停機維護)。通常,這只是暫時狀態

  504(網關超時)——服務器作爲網關或代理,但是沒有及時從上游服務器收到請求

  505(HTTP 版本不受支持)——服務器不支持請求中所用的 HTTP 協議版本

參考文件:

http://www.runoob.com/http/http-status-codes.html

http://blog.csdn.net/piaoxuan1987/article/details/51603671

 

感謝您的閱讀,若有不足之處,歡迎指教,共同學習、共同進步。

博主原創網址:http://www.cnblogs.com/beginner-boy/ 如您喜歡,麻煩推薦一下;如您有新想法,歡迎提出,郵箱:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章