圖解HTTP之返回結果的HTTP狀態(四)
HTTP狀態碼負責表示客戶端HTTP請求的返回結果、標記伺服器端的處理是否正常、通知出現的錯誤等工作。
狀態碼的職責是當客戶端向伺服器端傳送請求時,描述返回的請求結果。藉助狀態碼,使用者可以知道伺服器端是正常處理了請求,還是出現了錯誤。
僅記錄在 RFC2616 上的 HTTP 狀態碼就達 40 種,若再加上WebDAV(Web-based Distributed Authoring and Versioning,基於全球資訊網的分散式創作和版本控制)(RFC4918、5842) 和附加 HTTP 狀態碼(RFC6585)等擴充套件,數量就達 60 餘種。別看種類繁多,實際上經常使用的大概只有 14 種。
2XX成功 響應結果表明請求被正常處理
-
200 OK 根據請求方法有正常的返回資源
-
204 No Content 請求處理成功,但無資源返回
-
206 Partial Content 對範圍請求的正確返回資源
3XX重定向 瀏覽器需要執行某些特殊的處理以正確處理請求
-
301 Moved Permanently 永久性重定向 URI更新,以後應使用更新後的URI
-
302 Found 臨時性重定向 URI更新,本次使用更新的URI
-
303 See Other 請求對應的資源存在著另一個 URI,應使用 GET方法定向獲取請求的資源
當301、302、303響應狀態碼返回時,幾乎所有瀏覽器會把POST方法改為GET,並刪除請求報文內的主體,之後請求會自動再次傳送。
-
304 Not Modified 資源已找到,但未符合條件請求,不包含任何響應的主體部分。距離上次,未修改用快取。
-
307 Temporary Redirect 臨時重定向 該狀態碼與 302 Found 有著相同的含義,但不會從 POST 變成 GET
4XX客戶端發生錯誤
-
400 Bad Request 請求報文中存在語法錯誤
-
401 Unauthorized 需要有通過HTTP認證
-
403 Forbidden不允許訪問那個資源
-
404 Not Found 伺服器上沒有請求的資源,也可以在伺服器端拒絕請求且不想說明理由時使用
5XX伺服器錯誤
-
500 Internal Server Error 內部資源出故障
-
503 Service Unavailable 伺服器無法處理請求,超負載/停機中