用於 HTTP 協議交互的信息被稱爲 HTTP 報文。請求端(客戶端)的HTTP報文叫作請求報文,響應端(服務器端)的叫作響應報文。web
HTTP報文大體可分爲報文首部和報文主體兩塊。一般,不必定要有報文主體。、瀏覽器
請求報文和響應報文的首部內容由一下數據組成。服務器
HTTP在傳輸過程當中能夠按照原貌傳輸,也能夠在傳輸過程當中經過編碼來提高傳輸速率,能有效地處理大量的訪問請求,可是編碼會消耗更多的CPU資源。ide
HTTP報文的主體用於傳輸請求或響應的實體主體。一般,報文主體等於實體主體。只有當傳輸中進行編碼操做時,實體內容發生變化,才致使二者產生差別。編碼
內容編碼指明應用在實體內容上的編碼格式,並保持實體信息原樣壓縮。內容編碼後的實體由客戶端接收並負責解碼。 常見的內容編碼:gzip、compress、deflate、identity。orm
在傳輸大容量數據時,經過把數據分割成多塊,可以讓瀏覽器逐步顯示頁面。這種把實體主體分塊的功能稱爲分塊傳輸編碼。對象
HTTP協議中也採納了對部分對象集合,發送的一份報文主體內可含有多類型實體。一般是在圖片上或文本文件等上傳時使用。須要在首部字段加上Content-type。圖片
從以前下載中斷處恢復下載。 要實現該功能,須要指定下載的實體範圍。指定範圍發送的請求叫作範圍請求。 執行範圍請求時,會用到首部字段Range來指定資源的byte範圍。ip
針對範圍請求,響應會返回206.多重範圍請求,響應會在首部字段Content-type標明multipart/byteranges後返回響應報文。 若是服務端沒法響應範圍請求,則返回200 OK 和完整的實體內容。資源
當瀏覽器的默認語言爲英文或者中文,訪問相同的URI的web頁面時,則會顯示對應的英語版或中文版的web頁面,這樣的機制成爲內容協商。
內容協商機制是指客戶端和服務端就響應的資源內容進行交涉,而後提供給客戶端最爲適合的資源。以語言、字符集、編碼方式等爲基準判斷響應的資源。
某些首部字段就是判斷的基準: Accept、Accept-Charset、Accept-Encoding、Accept-Language、Content-Language。
內容協商技術有如下類型: 服務器驅動協商、客戶端驅動協商、透明協商。