編碼提升傳輸效率
理解報文主體和實體主體的差異
報文。是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范圍。
