1. 程式人生 > >HTTP協議狀態碼部分整理

HTTP協議狀態碼部分整理

前段時間面試被問到HTTP協議的狀態碼,結果有一個沒有回答上來,現在整理一下,雖然不一定能在後面的面試中能完整的說出來,但至少得保證能記得重點。
HTTP協議狀態碼在HTTP響應報文中出現,其職責是當客戶端向伺服器端傳送請求時,描述返回的請求結果。使用者可以藉助狀態碼知道伺服器是正常處理了客戶端的請求還是出現了錯誤。
HTTP常見的狀態碼如下(HTTP狀態碼有很多,這裡只列出常見的狀態碼):
一、1xx:資訊性狀態碼,表示接收的請求正在處理。
1、100 Continue:客戶端應當繼續傳送請求。用於通知客戶端其部分請求已經被處理,且未被拒絕,客戶端應該繼續傳送請求剩餘部分,如果已傳送完則忽略。
2、101 Switching protocols:伺服器理解了客戶端的請求,並通過Upgrade訊息頭通知客戶端將採用不同的協議版本來完成這個請求。常用於客戶端要求伺服器轉換HTTP協議版本。
3、102 Processing:由RFC2518擴充套件的狀態碼,代表處理將被繼續執行。

二、2xx:成功狀態碼,代表請求已成功被伺服器接收,理解並接受。
1、200 OK:表示請求已成功,所請求的資料和報頭將隨此響應返回,出現此狀態碼代表正常狀態。
2、204 No Content:代表伺服器接收的請求已經成功處理,但在返回的響應報文中不含實體的主題部分,當瀏覽器收到包含此狀態碼的響應報文時,其顯示頁面不會發生改變。一般在只需要從客戶端向伺服器端傳送資料,而不用向客戶端傳送新資訊內容的情況下使用。
3、206 Partial Content:客戶端僅請求資源的一部分,伺服器成功響應了這部分請求,在響應報文中包含用Content-Range指定範圍的實體內容。

三、3xx:重定向狀態碼,表示需要客戶端採取進一步的動作才能完成。
1、301 Moved Permanently:永久性重定向。告訴客戶端,本網頁已被永久性的轉移到另一個URL,以後都必須使用新的URL。
2、302 Found:臨時重定向。告訴客戶端,資源的URL被臨時性的改變,本次必須使用新的URL訪問。

四、4xx:客戶端錯誤狀態碼,表示伺服器無法處理。
1、403 Forbidden:表示伺服器已理解請求,但是拒絕執行它。
2、404 Not Found:表明伺服器上沒有請求的資源。(經常遇到)

五、5xx:伺服器錯誤狀態碼。
1、500 Internal Server Error:表明伺服器端在執行請求時發生錯誤。
2、503 Server Unavailable:表明伺服器暫時處於超負載或正在進行停機維護現無法處理請求。