一文概覽10個常見的HTTP狀態碼
概述
HTTP狀態碼是用以表示網頁服務器HTTP響應狀態的3位數字代碼。所有狀態碼的第一個數字代表了響應的五種狀態之一。
當用戶試圖通過HTTP或FTP協議訪問一臺運行主機上的內容時,Web服務器返回一個表示該請求的狀態的數字代碼。該狀態代碼記錄在服務器日志中,同時也可能在 Web 瀏覽器或 FTP客戶端顯示。也就是我們打開頁面發生錯誤時,瀏覽器顯示的錯誤信息代碼。狀態代碼可以指明具體請求是否已成功,還可以揭示請求失敗的確切原因。
HTTP協議狀態碼
HTTP協議狀態碼表示的意思主要分為五類,大體是:
- 1××:保留
- 2××:表示請求成功地接收
- 3××:為完成請求客戶需進一步細化請求
- 4××:客戶錯誤
- 5××:服務器錯誤
根據Google的搜索數據統計,下面幾個是最常見的錯誤,其中HTTP 500 錯誤發生機率是404錯誤的兩倍:
(1) 500 內部服務器錯誤
對HTTP 500錯誤的定義已經充分證明了這是一個最常見的HTTP錯誤。 一般來說,HTTP 500 錯誤會在服務器的程序碼出錯時出現,或者web服務器發生內部錯誤時返回的信息。 例如,web服務器過載時將無法正確處理訪問請求。
(2) 404 文件未找到
大多數人都知道這個錯誤。 當用戶試圖訪問Web服務器(通常是一個網頁)上某個實際不存在的資源時,就會發生404錯誤。404錯誤可能是由無效的鏈接引起,也可能是URL拼寫錯誤,還可能是因為虛擬主機將所請求頁面移到其他地方(或刪除所請求頁面)。 一些網站設置了自定義頁面以防止壞鏈接所產生的不良影響。
(3) 403 禁止訪問
403錯誤類似于401錯誤,不同之處在于401錯誤是未經授權,而403錯誤是禁止訪問。 任何登錄對403錯誤都不起作用。 嘗試訪問(被禁止的)網站目錄時,就會發生403錯誤。
(4) 400 錯誤請求
Web服務器通過返回HTTP 400錯誤告訴訪問者,訪問者用來訪問網站的程序出錯,或訪問請求途中遭到破壞。
(5) 401 未經授權
訪問者試圖訪問受限頁面但未經授權時,網站返回HTTP 401錯誤。錯誤登錄嘗試是導致這一錯誤的主因。
(6) 200 請求成功
請求已成功,請求所希望的響應頭或數據體將隨此響應返回。
(7) 206 部分內容
服務器已經成功處理了部分GET請求。類似于FlashGet或者迅雷這類的HTTP 下載工具,都是使用此類響應實現斷點續傳,或者將一個大文檔分解為多個下載段同時下載。
(8) 301 永久重定向
被請求的資源已永久移動到新位置,并且將來任何對此資源的引用都應該使用本響應返回的若干個URI之一。
(9) 302 臨時重定向
請求的資源現在臨時從不同的URI響應請求。由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以后的請求。
(10) 502 無效網關
作為網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。