用於HTTP協議交互的信息被稱爲報文。服務器
請求端(客戶端)的HTTP報文叫作請求報文,響應端(服務器端)的叫作響應報文。ide
HTTP報文自己是由多行數據構成的字符串文本。編碼
HTTP報文大體上可分爲報文首部和報文主體兩塊,二者由最初出現的空行來劃分。ip
一般,並不必定要有報文主體。資源
請求報文和響應報文的首部內容由如下數據組成。字符串
請求行:包含用於請求的方法,請求URI和HTTP版本。it
狀態行:包含代表響應結果的狀態碼,緣由短語和HTTP版本。服務器端
首部字段:包含代表請求和響應的各類條件和屬性的各種首部。 通常有四種首部,分別是通用首部、請求首部和實體首部。請求
其餘:可能包含HTTP的RFC裏未定義的首部(Cookie等)。方法
HTTP在傳輸數據時能夠按照數據原貌直接傳輸,也能夠在傳輸過程當中經過編碼提高傳輸速率。
經過在傳輸時編碼,能有效地處理大量的訪問請求。
可是,編碼的操做須要計算機來完成,所以會消耗更多的CPU資源。
是HTTP通訊中的基本單位,由8位組字節流組成,經過HTTP通訊傳輸。
做爲請求和響應的有效載荷數數據(補充項)被傳輸,其內容由實體首部和實體主體組成。
HTTP報文的主體用於傳輸請求或響應的實體主體。
一般,報文主體等於實體主體。只有當傳輸中進行編碼操做時,實體主體的內容發生變化,纔會致使它和報文主體產生差別。
向待發送郵件內增長附件時,爲了使郵件容量變小,咱們會先用ZIP壓縮文件以後再添加附件發送。
HTTP協議中有一種被稱爲內容編碼的功能也能進行相似的操做。
內容編碼指明應用在實體內容上的編碼格式,並保持實體信息原樣壓縮。
內容編碼後的實體由客戶端接收並負責解碼。
常見的內容編碼有以下幾種:gzip,compress,deflate,identity。