HTTP請求狀態碼,是客戶端向服務器發送了請求後,服務器給客戶端返回的請求結果.客戶端藉助狀態碼,可以知道當前請求的狀態是成功還是失敗,如果失敗了,是客戶端出問題了還是服務端的問題.常用的HTTP狀態碼可以分爲以下5個大類:
狀態碼 | 類別 | 原因短語/描述 |
1xx | Informational信息性狀態碼 | 臨時響應/接受的請求正在處理 |
2xx | Success成功狀態碼 | 請求正常處理完畢 |
3xx | Redirection重定向狀態碼 | 重定向,要附加額外的操作可以完成請求 |
4xx | Client Error客戶端錯誤 | 客戶端異常,服務端無法處理請求 |
5xx | Server Error 服務端錯誤 | 服務端處理請求出錯 |
2xx: 表明請求被正常處理了
- 200: OK.請求已經正常處理
- 204: 請求處理成功,但是沒有任何資源可以返回給客戶端的.一般情況下是客戶端給服務端發送了請求,而服務端不需要對客戶端發送新消息的時候.
- 206: Partial Content 對某一部分資源的請求,該狀態碼錶示客戶端進行了範圍請求,服務器也成功的執行了這部分的get請求,響應報文中包含由Content-Range指定範圍的實體內容.
3xx:重定向,表示瀏覽器需要經過某些特殊的操作纔可以正確的處理請求
- 301:永久重定向,請求的資源已經被分配了新的URI.以後應該使用資源現在所指的URI.
- 302:臨時重定向.和301相似,但302代表的資源不是永久性移動,只是臨時性質的.也就是說,已經移動的資源對應的URI將來還可能發生變化.
- 303:表示由於請求對應的資源存在這另外一個URL,應該使用GET方法重定向獲取請求的資源.303和302狀態碼錶示的功能相同,只是303明確表示客戶端應該使用get方法請求資源.
- 304 資源已經找到,但是不符合請求條件.指客戶端發送帶有附加條件的請求,服務端允許客戶端的請求訪問資源,但是由於請求不滿足條件,就直接返回304.
- 307: 臨時重定向,與302表示相同的意義.
4xx:表示客戶端錯誤
- 400:服務器無法理解客戶端發送的請求,請求報文可能存在語法錯誤
- 401:表示發送的請求需要有通過http認證的認證信息,常用的http認證有BASIC認證、DIGEST認證等
- 403:沒有權限,請求被服務器拒絕
- 404:不存在,服務器上沒有請求的資源.
5xx:表示服務器錯誤
- 500: 服務器內部錯誤,可能是服務器在執行請求時發生了錯誤,也可能是web應用存在bug或某些臨時故障
- 503:表示服務器超負荷或者是停止工作狀態,無法處理請求.