HTTP 常見狀態碼(14 種)

HTTP 狀態碼表示客戶端 HTTP 請求的返回結果、標記服務器端的處理是否正常或者是出現的錯誤,能夠根據返回的狀態碼判斷請求是否得到正確的處理很重要。

狀態碼由 3 位數字和原因短語組成,例如下圖所示:

數字中的第一位指定了響應類別,後兩位無分類,響應類別有一下 5 種:

狀態碼分類表

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

 

  

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章