-
1xx
處於中間狀態,還需后續操作
-
2xx
成功收到報文並正確處理
-
200 OK
常見的成功狀態碼,表示一切正常,客戶端獲取期望的處理結果。如果不是 Head 請求,那么在響應頭中通常會有 body 數據
-
204 No Content
含義與 200 很相似,不同在於響應頭中沒有 body 數據
-
206 Partial Content
是 HTTP 分塊下載或斷點續傳的基礎,在客戶端發送 "范圍請求"、要求獲取資源的部分數據時出現,它與 200 一樣,也是服務器成功處理了請求,但 body 里的數據不是資源的全部,而是其中的一部分。狀態碼 206 通常還會伴隨着頭文字端 'Content-Range' ,表示響應報文里 body 數據的具體范圍,供客戶端確認,例如 "Content-Range : bytes 0-99/5000",意思是此次獲取的是總計 5000 個字節的前 100 個字節
-
-
3xx
重定向到其他資源位置
-
301 Moved Permanently
"永久重定向",意思是本地請求的資源已經不存在,使用新的 URI 再次訪問
-
302 Moved Temporarily
臨時重定向,所請求的資源還在,但目前需要另一個 URI 訪問
注
301 和 302 通過在字段 Location 中表明需要跳轉的 URI 。兩者最大的不同在於一個是臨時改變,一個是永久改變。例如,需要將網站全部升級為 HTTPS 這種永久改變就需要配置 301 。有時候晚上更新系統,系統暫時不能用,可以配置 302 ,此時不會做緩存優化,第二天還會訪問原來的地址
-
304 Not Modified
運用與緩存控制,用於 If-Modified-Since 等條件請求,表示資源未修改,即緩存重定向
-
-
4xx
請求報文有誤,服務器無法處理
-
400 Bad Request
通用錯誤碼,表示請求報文有錯誤,但這個錯誤過於籠統。不知道是客戶端還是哪里的錯誤,所以在實際應用中,通常會返回含有明確含義的錯誤嗎
-
403 Forbidden
表示服務器禁止訪問資源,原因比如涉及到敏感詞匯、法律禁止等
-
404 Not Found
想要的資源在本地為找到從而無法提供給服務端,但現在只要服務器"耍脾氣"就會給你404我們也不知道其中的原因
-
405 Method Not Allowed
獲取資源的方法好幾種,我們可以對某種方法進行限制,例如不能用 POST ,只能用 GET
-
406 Not Acceptable
客戶端資源無法滿足客戶端請求的條件,例如請求中需要中文但只有英文
-
408 Request Timeout
-
409 Confilct
多個請求發生了沖突,可以理解為多線程並發的常態
-
-
5xx
服務器錯誤,服務器對請求出的時候發生內部錯誤
-
500 Internal Server Error
通用錯誤碼,服務器到底什么錯不可知
-
502 Bad Gateway
服務器作為網關或或者代理時返回的錯誤碼,表示服務器自身工作正常,訪問后端服務器時發生了錯誤
-
503 Service Unavailable
服務器當前很忙,暫時無法響應服務
-