1. 程式人生 > 實用技巧 >HTTP常見狀態碼(14種)

HTTP常見狀態碼(14種)

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:
  表示伺服器暫時處於超負載或正在進行停機維護,無法處理請求;