1. 程式人生 > >http協議基礎(四)http狀態碼 Status Code狀態碼詳解對照表

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、客戶端錯誤:

4XX的響應結果表明客戶端是發生錯誤的原因所在

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狀態碼詳解對照表