一、HTTP報文
主要包括報文首部和報文主體。 1、請求報文和響應報文結構
2、請求報文和響應報文結構例項 3、編碼提升傳輸效率 通常,報文主體等於實體主體。只有當傳輸中進行編碼操作時,實體主體的內容發生變化,才導致他和報文主體產生差異。 如圖,即為壓縮傳輸,是由服務端對實體內容進行編碼壓縮,然後傳送給客戶端,再由客戶端接受兵負責解碼。 常用的內容編碼由一下幾種- gzip(GNU zip)
- compress(UNIX系統的標準壓縮)
- deflate(zlib)
- identity(不進行編碼)
二、HTTP/1.1的首部欄位
HTTP/1.1規範定義瞭如下47種首部欄位
- 通用首部欄位
- 請求首部欄位
- 響應首部欄位
- 通實體首部欄位
三、HTTP狀態碼
HTTP的狀態碼是用來描述請求的處理結果。記錄在內的狀態碼多達40種,若加上全球資訊網附加的就達到60餘種。下面我們主要介紹下具有代表性的14種。1、2XX 成功
- 200 OK-->請求被服務端正常處理
- 204 No Content -->請求成功,但沒有資源返回
- 206 Partial Content -->對資源某一部分的請求
2、3XX 重定向
- 301 Moved Permanently-->永久重定向。資源已被分配到新的URI
- 302 Found -->臨時重定向。資源的URI已臨時定位到其他位置
- 303 See Other -->對資源某一部分的請求
- 304 Not Modified -->資源找到,但不符合要求。用於請求報文中含有If引數的請求
- 307 Temporary Redirect -->臨時跳轉。被請求的資源在臨時從不同的URL響應請求
當301、302、303響應的狀態碼返回時,幾乎所有的瀏覽器都會把POST請求改成GET請求,並刪除請求報文內的主體,之後請求會自動再次傳送。 301、302標準是禁止將POST方法改成GET方法的,但實際使用時大家都會這麼做。
3、4XX 客戶端錯誤
- 401 Unauthorized-->請求報文中存在語法錯誤
- 403 Forbidden -->請求資源的訪問被服務端拒絕
- 404 Not Found -->沒有請求的資源
4、5XX 服務端錯誤
- 500 Internal Server Error-->服務端執行請求時發生錯誤
- 502 Bad Gateway -->錯誤閘道器
- 503 Service Unavailable -->服務端暫時處於超載或者正在進行維護
狀態碼的內容大致就給大家整理這麼多,大家也可以參考下面的連結去理解
兩張趣圖助你理解狀態碼的含義~
總結
這篇文章主要總結了第三章-第六章的內容,其中我省略掉了部分內容(如:第五章的Web伺服器的內容),比較重要的是第六章對每個欄位的一些詳細說明,由於內容比較多,就不放在博文中(不然內容又變得又臭又長)。所以,如果有要了解詳情欄位的可以下載該書的PDF進行了解。
那本期內容就到這邊,下期將整理HTTPS的內容 注:百度雲連結:《圖解HTTP》 往期回顧: 圖解HTTP系列--(一) - 掘金