《圖解HTTP》——HTTP報文中的HTTP信息

編碼提升傳輸效率

理解報文主體和實體主體的差異

  • 報文。是HTTP通信中的基本單位,由8位組字節(jié)流組成,通過HTTP通信傳輸。

  • 實體。作為請求或響應(yīng)的有效載荷數(shù)據(jù)(補充項)被傳輸,其內(nèi)容由實體首部和實體主體組成。

HTTP報文中的主體用于傳輸請求或者響應(yīng)的實體主體。

通常,報文主體等于實體主體。只有當(dāng)傳輸中進(jìn)行編碼的時候,實體主體的內(nèi)容才會發(fā)生變化,才會導(dǎo)致它與報文主體產(chǎn)生差異。

什么是內(nèi)容編碼,有什么用途?

內(nèi)容編碼指明是應(yīng)用在實體內(nèi)容上的編碼格式,并保持實體信息原樣壓縮。內(nèi)容編碼后的實體由客戶端接收并負(fù)責(zé)解碼。

分塊傳輸編碼

什么是分塊傳輸編碼
在傳輸大量數(shù)據(jù)的時候,我們通過將數(shù)據(jù)分割成很多塊,也就是將實體主體分塊的功能,稱為分塊傳輸編碼。

分塊傳輸編碼會將實體主體分成多個部分(塊)。使用分塊傳輸編碼的實體主體會由接收到客戶端負(fù)責(zé)解碼,恢復(fù)到編碼前的實體主體。

發(fā)送多種數(shù)據(jù)的多部分對象集合

HTTP協(xié)議中采納了多部分對象集合,發(fā)送的一份報文主體內(nèi)可含有多類型實體。通常是在圖片或文件等上傳的時候使用。

多部分對象集合包含的對象如下:

  • multipart/form-data
    在web表單文件上傳的時候使用。
  • multipart/byteranges
    狀態(tài)碼206響應(yīng)報文中包含多個范圍的內(nèi)容的時候使用。

在HTTP報文中使用多部分對象集合的時候,我們需要在首部字段中加上Content-type字段

獲取部分內(nèi)容的范圍請求

我們在發(fā)送的請求中可以指定響應(yīng)的數(shù)據(jù)范圍,這種我們稱為范圍請求。

執(zhí)行范圍請求的時候,會用到首部字段Range來指定資源的byte范圍。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容