一: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
服務器暫時處於超負載或者正在停機維護,現在無法處理請求