http筆記整理:狀態碼

狀態碼

目前 RFC 標準裏規定的狀態碼是三位數,所以取值範圍就是從 000 到 999。但如果把代碼簡單地從 000 開始順序編下去就顯得有點太“low”,不靈活、不利於擴展,所以狀態碼也被設計成有一定的格式。

 

RFC 標準把狀態碼分成了五類,用數字的第一位表示分類,而 0~99 不用,這樣狀態碼的實際可用範圍就大大縮小了,由 000~999 變成了 100~599。

 

1××:提示信息,表示目前是協議處理的中間狀態,還需要後續的操作;

2××:成功,報文已經收到並被正確處理;

200 OK”

204 No Content”是另一個很常見的成功狀態碼,它的含義與“200 OK”基本相同,但響應頭後沒有 body 數據。

206 Partial Content”是 HTTP 分塊下載或斷點續傳的基礎,在客戶端發送“範圍請求”、要求獲取資源的部分數據時出現,它與 200 一樣,也是服務器成功處理了請求,但 body 裏的數據不是資源的全部,而是其中的一部分。

3××:重定向,資源位置發生變動,需要客戶端重新發送請求;

301 Moved Permanently”俗稱“永久重定向”,含義是此次請求的資源已經不存在了,需要改用改用新的 URI 再次訪問。

與它類似的是“302 Found”,曾經的描述短語是“Moved Temporarily”,俗稱“臨時重定向”,意思是請求的資源還在,但需要暫時用另一個 URI 來訪問。

304 Not Modified” 是一個比較有意思的狀態碼,它用於 If-Modified-Since 等條件請求,表示資源未修改,用於緩存控制。它不具有通常的跳轉含義,但可以理解成“重定向已到緩存的文件”(即“緩存重定向”)

4××:客戶端錯誤,請求報文有誤,服務器無法處理;

“400 Bad Request”是一個通用的錯誤碼,表示請求報文有錯誤,但具體是數據格式錯誤、缺少請求頭還是 URI 超長它沒有明確說

“404 Not Found”可能是我們最常看見也是最不願意看到的一個狀態碼,它的原意是資源在本服務器上未找到,所以無法提供給客戶端。

5××:服務器錯誤,服務器在處理請求時內部發生了錯誤

500 Internal Server Error

503 Service Unavailable”表示服務器當前很忙,暫時無法響應服務

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章