1. 程式人生 > >查缺補漏——HTTP 狀態碼

查缺補漏——HTTP 狀態碼

一、狀態碼的職責是負責描述客戶端向伺服器端傳送請求時,描述返回的請求結果。
二、狀態碼的類別:

狀態碼 類別 原因短語
1XX 資訊性狀態碼 接受的請求正在處理
2XX 成功狀態碼 請求正常處理完畢
3XX 重定向狀態碼 需要進行附加操作以完成請求
4XX 客戶端錯誤狀態碼 伺服器無法處理請求
5XX 伺服器錯誤狀態碼 伺服器處理請求出錯

2XX成功:

狀態碼 類別 原因短語
200 OK 表示從客戶端發來的請求在伺服器端被正常處理了。響應報文中,隨請求方法不同,返回資訊不同。
204 No Content 表示伺服器端接收的請求已經成功處理,但是返回的響應報文中不包含實體內容。例如:當瀏覽器發出請求處理後,返回204,但是頁面內容沒有更新。
206 Partail Conten 表示客戶端進行了範圍請求,而伺服器端成功地執行了這部分的GET請求。響應報文中包含有Content-Range指定範圍的實體內容。

3XX重定向:

狀態碼 類別 原因短語
301 Moved Permanently
永久重定向
表示請求的資源已被新的URI,以後應使用資源現在所指的URI.應該重新更新儲存為書籤的URI.
302 Found
臨時重定向
表示請求的資源已被分配了新的URI,希望使用者(本次)能使用新的URI訪問。不會更新書籤的URI,還是保留302對應的URI.
303 See Other 表示請求對應的資源存在另一個URI,同時明確表示客戶端應使用GET方法獲取資源。
304 Not Modified
伺服器端資源未改變,可直接使用客戶端未過期的快取
客戶端傳送附帶條件的請求時,伺服器允許請求訪問資源,但因發生請求未滿足條件的情況後,直接返回304。返回304狀態碼時,不包含任何響應的主題部分。304和重定向沒有關係。
307 Temporary Redirect
臨時重定向
與302具有相同的含義,307會遵守瀏覽器標準,不會從POST改為GET。但是,對於處理響應時的行為,每種瀏覽器有可能出現不同的情況。

注意:當301,302,303響應狀態碼返回時,幾乎所有的瀏覽器都會把POST改為GET,並刪除請求報文內的主體,之後請求會自動傳送。

4XX客戶端錯誤:

狀態碼 類別 原因短語
400 Bad Request 表示請求報文中存在語法錯誤。當錯誤發生時,需修改請求的內容後重新發生請求。響應報文中,隨請求方法不同,返回資訊不同。
401 Unauthorized 表示傳送的請求需要通過HTTP認證(BASIC認證,DIGEST認證)的認證資訊。若之前已進行過1次請求,則表示使用者認證失敗。
403 Forbidden 表示對請求資源的訪問被伺服器拒絕了。未獲得檔案系統的訪問授權,訪問許可權出現某些問題(從未授權的傳送源IP地址試圖訪問)等列舉的情況都可能發生403的原因。
404 Not Found 表示伺服器上無法找到請求資源。也可以在伺服器拒絕請求且不想說明原因時使用。

5XX伺服器錯誤:

狀態碼 類別 原因短語
500 Internal Server Error 表示伺服器端在執行請求時發生了某種錯誤。也可能是Web應用存在某種bug或者某些臨時的故障。
503 Service Unavailable 表示伺服器端暫時處於超負載或正在停機維護中,無法處理請求。