HTTP常見狀態碼(14種)
阿新 • • 發佈:2020-11-25
HTTP狀態碼表示客戶端HTTP請求的返回結果、標記伺服器端的處理是否正常或者是出現的錯誤,能夠根據返回的狀態碼判斷請求是否得到正確的處理很重要。
狀態碼分類表
狀態碼 | 類別 | 原因短語 |
---|---|---|
1xx | Informational(資訊性狀態碼) | 接受的請求正在處理 |
2xx | Success(成功狀態碼) | 請求正常處理完畢 |
3xx | Redirection(重定向) | 需要進行附加操作以完成請求 |
4xx | Client error(客戶端錯誤) | 客戶端請求出錯,伺服器無法處理請求 |
5xx | Server Error(伺服器錯誤) | 伺服器處理請求出錯 |
各類別常見狀態碼:
2xx (3種)
200 OK:
表示從客戶端傳送給伺服器的請求被正常處理並返回;
204 No Content:
表示客戶端傳送給客戶端的請求得到了成功處理,但在返回的響應報文中不含實體的主體部分(沒有資源可以返回);
206 Patial Content:
表示客戶端進行了範圍請求,並且伺服器成功執行了這部分的GET請求,
響應報文中包含由Content-Range指定範圍的實體內容。
3xx (5種)
301 Moved Permanently: 永久性重定向,表示請求的資源被分配了新的URL,之後應使用更改的URL; 302 Found: 臨時性重定向,表示請求的資源被分配了新的URL,希望本次訪問使用新的URL; 301與302的區別:前者是永久移動,後者是臨時移動(之後可能還會更改URL) 303 See Other:表示請求的資源被分配了新的URL,應使用GET方法定向獲取請求的資源; 302與303的區別:後者明確表示客戶端應當採用GET方式獲取資源 304 Not Modified: 表示客戶端傳送附帶條件(是指採用GET方法的請求報文中包含if-Match、If-Modified-Since、 If-None-Match、If-Range、If-Unmodified-Since中任一首部)的請求時, 伺服器端允許訪問資源,但是請求為滿足條件的情況下返回改狀態碼; 307 Temporary Redirect: 臨時重定向,與303有著相同的含義,307會遵照瀏覽器標準不會從POST變成GET;(不同瀏覽器可能會出現不同的情況);
4xx (4種)
400 Bad Request:
表示請求報文中存在語法錯誤;
401 Unauthorized:
未經許可,需要通過HTTP認證;
403 Forbidden:
伺服器拒絕該次訪問(訪問許可權出現問題)
404 Not Found:
表示伺服器上無法找到請求的資源,除此之外,也可以在伺服器拒絕請求但不想給拒絕原因時使用;
5xx (2種)
500 Inter Server Error: 表示伺服器在執行請求時發生了錯誤,也有可能是web應用存在的bug或某些臨時的錯誤時; 503 Server Unavailable: 表示伺服器暫時處於超負載或正在進行停機維護,無法處理請求;