http協議基礎(四)http狀態碼 Status Code狀態碼詳解對照表
一:http狀態碼
表示客戶端http請求的返回結果、標記伺服器端的處理是否正常、通知出現的錯誤等工作
狀態碼的類別如下:
http狀態碼種類繁多,大概有60多種,實際上經常使用的只有14種,下面為一一介紹
1、2XX 成功:請求被正常處理
1.1 200 OK
表示從客戶端發來的請求在伺服器端被正常處理
1.2 204 No Content
表示伺服器接收的請求以成功處理,但沒有資源可返回,即:響應報文中不含實體的主體部分
1.3 206 Partial Content
表示客戶端進行了範圍請求且伺服器成功執行了這部分的GET請求,響應報文中包含由Content_Range指定範圍的實體內容
“Content_Range為請求首部的一種型別,後面的隨筆會講到”
2、3XX 重定向: 伺服器需要執行某些特殊處理以正確處理請求(即URI地址或者資源的快取的資源有效時間過期)
2.1 301 Moved Permanently
永久性重定向:表示請求的資源已被分配了新的URI,以後應使用資源現在的URI,如果已經儲存了書籤,這時候應該按照Location首部提示的URI重新儲存
2.2 302 Found
臨時性重定向:表示請求的資源已被分配到了新的URI,希望(本次)能使用新的URI訪問
2.3 303 See Other
表示請求對應的資源存在另一個URI,應該使用GET方法定向獲取請求的資源
PS:當301、302、303響應狀態碼返回,幾乎所有瀏覽器都會把POST改成GET,並刪除請求報文內的主體,之後請求自動再次傳送
301、302標準禁止將POST改為GET,但實際中都會允許這麼做~~~GG
2.4 304 Not Modified
表示客戶端傳送得附帶條件的請求時,伺服器執行請求訪問,但未滿足條件的情況,304返回時,不包含任何響應的主體部分
附帶條件:採用GET方法的請求報文中包含If-......條件的任一首部,後面的隨筆中介紹
2.5 307 Temporary Redirect
臨時重定向:禁止將POST轉換為GET,該狀態碼會嚴格遵守瀏覽器標準
3、客戶端錯誤:
3.1 400 Bad Ruquest
請求報文存在語法錯誤
3.2 401 Unauthorized
傳送的請求需要有通過http認證(BASIC認證、DIGEST認證)的認證資訊
PS:若之前已經進行了一次請求,則表示使用者認證失敗
返回含有401的響應必須包含一個適用於被請求資源的WWW-Authenticate首部用來質詢使用者資訊
3.3 403 Forbidden
對請求資源的訪問被伺服器拒絕(服務端沒有必要給出拒絕的詳細理由,如果想做說明,可在實體主體部分對原因進行描述)
舉例:未獲得檔案系統的訪問授權、訪問許可權出現某些問題等
3.4 404 Not Found
伺服器上無法找到請求的資源
4、 5XX伺服器錯誤:伺服器本身發生錯誤
4.1 500 Internal Server Error
伺服器端執行請求時發生錯誤
4.2 503 Server Unavailable
伺服器暫時處於超負載或者正在停機維護,現在無法處理請求
詳情對照表:Status Code狀態碼詳解對照表