HTTP系列(二)—— 常見的HTTP狀態碼
阿新 • • 發佈:2018-11-20
目錄
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頭資訊中 |