http在傳輸資料時可以按照資料原貌直接傳輸,但也可以在傳輸過程中通過編碼提公升傳輸速率。通過在傳輸時編碼,能有效地處理大量的訪問請求。但是,編碼的操作需要計算機來完成,因此會消耗更多的cpu等資源。
(1) 報文主體和實體主體的區別
報文 http通訊中的基礎單位,由8位位元組流組成,通過http通訊傳輸
實體 作為請求或響應的有效載荷資料被傳輸,其內容由實體首部和實體主體組成。
http報文的主體用於傳輸請求或響應的實體主體。
通常,報文主體等於實體主體. 只有當傳輸中進行編碼操作時,實體主體的內容發生變化,才導 致它和報文主體產生差異
(2) 壓縮傳輸的內容編碼 content-encoding
gzip gnu zip編碼
compress unix系統的標準壓縮
http壓縮過程
1 瀏覽器傳送http request給web伺服器,request中由accept-encoding:gzip 告訴伺服器,瀏覽器支援gzip壓縮
2 web伺服器接到request後,生成原始的response,其中有原始的content-type和content-length
3 web伺服器通過gzip,來對response進行編碼,編碼後header中有content-type和content-length,並且增加了content-encoding:gzip,然後把response傳送給瀏覽器
4 瀏覽器接到response後,根據content-encoding:gzip來對response進行解碼.獲取到原始response後,然後顯示出網頁.
(3) 分割傳送給的分塊傳輸編碼 transfer-encoding
具體可以參考header部分
http報文內的http資訊
1.請求報文和響應報文的首部內容組成 請求行 包含請求的方法,請求uri和http版本。狀態行 包含相應結果的狀態碼,原因短語和http版本。首部字段 通用首部,請求首部,響應首部和實體首部。其他 包含http的rfc裡未定義的首部 cookie等 2.編碼提公升傳輸速率 壓縮傳輸的內容編碼 gzi...
HTTP報文內的HTTP資訊
報文的定義 用於http協議的資訊被稱為http報文 報文由報文首部和報文主體構成,中間由 cr lf 回車 換行 分割開來 由於報文的傳輸可以通過編碼提公升傳輸效率,所以需要了解下報文 message 與實體 entity 的區別 可以看出在一般情況下報文主體和實體主體是一致的,但在傳輸中進行編碼...
HTTP報文內的HTTP資訊
宣告 本人的所有部落格皆為個人筆記,作為個人知識索引使用,因此在敘述上存在邏輯不通順 跨度大等問題,希望理解。分享出來僅供大家學習翻閱,若有錯誤希望指出,感謝!http報文是由多行資料構成的字串文字,使用cr lf換行 cr 回車符 r lf 換行符 n http報文大致可分為報文首部和報文主體兩部...