HTTP報文首部與常見HTTP狀態碼

一、 Http報文首部

1、HTTP報文首部

在這裏插入圖片描述

HTTP 協議的請求和響應報文中必定包含 HTTP 首部。首部內容爲客戶端和服務器分別處理請求和響應提供所需要的信息。

2、HTTP 請求報文

在這裏插入圖片描述

在請求中,HTTP 報文由方法、URI、HTTP 版本、HTTP 首部字段等部分構成。

3、HTTP 響應報文

在這裏插入圖片描述
在響應中,HTTP 報文由 HTTP 版本、狀態碼(數字和原因短語)、HTTP 首部字段 3 部分構成。

二、常見的Http狀態碼

HTTP 狀態碼負責表示客戶端 HTTP 請求的返回結果、標記服務器端的處理是否正常、通知出現的錯誤等工作。

1、類別

  • 1XX(信息性狀態碼): 接收的請求正在執行

  • 2XX(成功狀態碼):請求正常處理完畢

  • 3XX(重定向狀態碼):需要附加操作以完成請求

  • 4XX(客戶端錯誤狀態碼): 服務器無法處理請求

  • 5XX(服務器錯誤狀態碼): 服務器處理請求出錯

2 常見的14種HTTP狀態碼

(1)2XX 成功

  • 200

    表示客戶端發送的請求已被服務器正常處理

  • 204

    表示服務器接收的請求已成功處理,但在返回的響應報文中不含實體的主體部分。

  • 206

    表示客戶端進行了範圍請求,而服務器成功執行了這部分的GET 請求。

(2)3XX 重定向

  • 301

    永久性重定向。表示請求的資源已被分配了新的 URI,以後應使用資源現在所指的 URI

  • 302

    臨時性重定向。該狀態碼錶示請求的資源已被分配了新的臨時 URI,希望用戶能使用新的臨時 URI 訪問

  • 303

    表示由於請求對應的資源存在着另一個 URI,應使用 GET方法定向獲取請求的資源。

  • 304

    表示客戶端發送附帶條件的請求時,服務器端允許請求訪問資源,但請求未滿足條件。返回304 狀態碼,不包含任何響應的主體部分,304 雖然被劃分在 3XX 類別中,但是和重定向沒有關係。

  • 307

    臨時重定向。該狀態碼與 302 Found 有着相同的含義。儘管 302 標準禁止 POST 變換成 GET,但實際使用時大家並不遵守。
    307 會遵照瀏覽器標準,不會從 POST 變成 GET。

(3)4XX 客戶端錯誤

  • 400

    表示請求報文中存在語法錯誤

  • 401

    表示發送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證信息。若之前已進行過 1 次請求,則表示用戶認證失敗

  • 403

    表示對請求資源的訪問被服務器拒絕了

  • 404

    表示服務器上無法找到請求的資源。

(4)5XX 服務器錯誤

  • 500

    表明服務器端在執行請求時發生了錯誤

  • 501
    服務器不支持請求的功能,無法完成請求

  • 502
    充當網關或代理的服務器,從遠端或上游服務器接收到了一個無效的請求

  • 503
    表明服務器暫時處於超負載或正在進行停機維護,現在無法處理請求。

  • 504
    充當網關或代理的服務器,未及時從遠端服務器收到響應

  • 505
    服務器不支持請求的HTTP協議的版本,無法完成處理

三、參考

《圖解HTTP》 [日] 上野·宣 著,於均良 譯 ,人民郵電出版社

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