1. 程式人生 > >【HTTP】HTTP狀態碼詳解

【HTTP】HTTP狀態碼詳解

HTTP狀態碼:當客戶端向伺服器端傳送請求時,描述返回的請求的結果。
來說一下狀態碼的類別

類別 代表內容 詳細說明
1XX Informational(資訊性狀態碼) 接收的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 需要進行附加操作以完成請求
4XX Client Error(客戶端錯誤狀態碼) 伺服器無法處理請求
5XX Server Error(伺服器錯誤狀態碼) 伺服器處理請求出錯

這些是大致分類,一般出現1XX,2XX之類的錯誤,錯誤原因大概能夠確定

但在實際中,最有代表性,也是最常用的,有以下14個狀態碼:

狀態碼 返回內容 詳細說明
200 OK 表示從客戶端發來的請求在伺服器端被正常處理了
204 No Content 請求處理成功,但沒有資源可返回。一般在只需要從客戶端往伺服器傳送資訊,而對客戶端不需要傳送新資訊內容的情況下使用
206 Partial Content 範圍請求。執行GET請求,響應報文中包含由Content Range指定範圍的實體內容
301 Moved Permanently 永久性重定向。該狀態碼錶示請求的資源已被分配了新的URI,以後使用新的URI
302 Found 臨時性重定向。該狀態碼錶示請求的資源已被分配了新的URI,希望使用者(本次)能使用新的URI訪問。和301類似,但302狀態碼代表的資源不是被永久移動
303 See Other 表示由於請求對應的資源存在著另一個URI,應使用GET方法定向獲取請求的資源
304 Not Modified 表示客戶端傳送附帶條件的請求時,伺服器端允許請求訪問資源,但不符合條件請求
307 Temporary Redirect 臨時重定向,與302相同
400 Bad Request 表示請求報文中存在語法錯誤
401 Unauthorized 表示傳送的請求需要有通過HTTP認證的認證資訊
403 Forbidden 表明對請求資源的訪問被伺服器拒絕了
404 Not Found 表明伺服器上無法找到請求的資源
500 Internal Server Error 表明伺服器端在執行請求時發生了錯誤
503 Service Unavailable 表明伺服器暫時處於超負載或正在進行停機維護,現在無法處理請求

小說明:當301,302,303響應狀態碼返回時,幾乎所有的瀏覽器都會把POST改成GET,並刪除請求報文內的主體,然後請求會再次傳送。301,302標準是禁止將POST方法改為GET方法的,但是在實際使用的過程中,都不遵守。307和302相同,但307遵守標準,不會將POST方法改為GET方法。
根據網頁返回的狀態碼,大概可以定位到出問題的原因,是服務端出了問題,還是客戶端出現了問題.