1. 程式人生 > >HTTP系列(二)—— 常見的HTTP狀態碼

HTTP系列(二)—— 常見的HTTP狀態碼

目錄

 1. 狀態碼的類別

2. 狀態碼詳解 

2.1 成功狀態碼

2.2 重定向狀態碼

2.3 客戶端錯誤狀態碼

2.4 服務端錯誤狀態碼


 HTTP狀態碼負責表示客戶端HTTP請求的返回結果、標記服務端處理是否正常、通知出現的錯誤等。藉助於狀態碼,使用者可以知道服務端是正常處理了請求還是出現了錯誤。

 1. 狀態碼的類別

狀態碼的第一位數字制定了響應類別,一般分為以下五種:

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

2. 狀態碼詳解 

2.1 成功狀態碼

成功狀態碼為2xx,表明了請求已經被正常處理:

狀態碼 原因短語  
200 OK 客服端發來的請求已經被正常處理
204 No Content 請求已經成功處理,但是沒有任何資源可以返回
206 Partial Content

客戶端請求為範圍請求(對資源某一部分的請求)

服務端成功執行了這一部分的請求

2.2 重定向狀態碼

重定向狀態碼為3xx,表明瀏覽器需要執行某些特殊的處理,才可以正常響應客戶端的請求。

狀態碼 原因短語  
301 Moved Permanently

永久性重定向,表明請求的資源已經被分配了新的URI

302 Found

臨時性重定向,表明請求的資源已經被分配了新的URI,使用者(本次)需要使用新的URI來訪問

303 See Other

表明請求的資源存在另一個URI,應使用GET方法定向獲取請求的資源

304 Not Modified 客戶端傳送的帶條件的請求的時候會存在,表明服務端資源未發生改變,可以使用客戶端未過期的快取
307 Temporary Redirect 臨時重定向,和302含義相同

2.3 客戶端錯誤狀態碼

狀態碼 原因短語  
400 Bad Request 表明客戶端傳送的請求報文中存在語法錯誤,伺服器無法理解
401 Unauthorized 表明傳送的請求需要有通過HTTP認證的認證資訊,如果之前已進行過一次請求,則表示使用者認證失敗
403 Forbidden 表明對伺服器資源的訪問被伺服器拒絕了
404 Not Found 伺服器上無法找到請求的資源

2.4 服務端錯誤狀態碼

狀態碼 原因短語  
500 Internal Server Error

伺服器內部錯誤,無法完成請求;也可能是web應用存在某些臨時故障

503 Service Unavailable

表明伺服器暫時處於超負載或正在進行系統維護,現在無法處理客戶端的請求。延時的長度可包含在伺服器的Retry-After頭資訊中