大話《圖解HTTP》學習筆記 3期:HTTP報文內的HTTP信息

1、HTTP報文

用於HTTP協議交互的信息被稱爲HTTP報文,請求端的稱之爲 請求報文,響應端的稱之爲 響應報文

組成:HTTP報文自己是由多行(用CR+LF做換行符)數據結構構成的字符串文本,大體能夠分爲報文首部報文主體兩塊。 前端

clipboard.png

請求報文和響應報文的首部內容由如下數據組成:
1)請求行:包含用於請求的方法請求URI和HTTP版本
2)狀態行:包含代表響應結果的狀態碼緣由短語HTTP版本
3)首部字段:包含表示請求和響應的各類條件和屬性的各種首部,通常分爲4種首部,通用首部請求首部響應首部實體首部
4)其餘:多是包含HTTP的RFC裏未定義的首部(Cookie 等)web

2、編碼提高傳輸速率

一、傳輸編碼

經過在傳輸時編碼,能有效的處理大量的訪問請求,可是須要消耗更多的CPU等資源。瀏覽器

二、報文主體和實體主體的差異

1)報文:是HTTP通訊彙總的基本單位,由8位組字節流組成,經過HTTP通訊傳輸。
2)實體:做爲請求或者響應的有效載荷數據(補充項)被傳輸,其內容由實體首部實體主體組成。報文的主體用於傳輸請求或響應的實體主體。一般報文主體等於實體主體,只有當傳輸中進行編碼操做時,實體主體的內容發生變化,才與報文主體產生差別。服務器

三、壓縮傳輸的內容編碼

HTTP協議中有一種被稱爲內容編碼的功能,使郵件容量變小。內容編碼指明應用在實體內容上的編碼格式,並保持實體信息原樣壓縮。內容編碼後的實體由客戶端接收並負責解碼。 網絡

clipboard.png

四、分割發送的分塊傳輸編碼

在HTTP通訊過程當中,請求的編碼實體資源未所有傳輸完成以前,瀏覽器沒法顯示請求頁面。但傳輸大容量數據時,經過把數據分割成多塊,可以讓瀏覽器逐步顯示頁面。這種把實體主體分塊的功能稱爲分塊傳輸編碼。使用分塊傳輸編碼的實體主體由接受的客戶端負責解碼,恢復編碼前的實體主體。 數據結構

clipboard.png

3、發送多種數據的多部分對象集合

發送郵件時,咱們能夠在郵件裏寫入文字並添加多份附件,這是由於採用MIME(多用途因特網郵件擴展)機制,它容許郵件處理文本、圖片、視頻等多個不一樣類型的數據網站

clipboard.png

HTTP協議中也採納了多部分對象集合,發送的一份報文主體可含有多類型實體。一般是在圖片或文本文件等上傳時使用。編碼

4、獲取部份內容的範圍請求

之前,用戶不能使用如今這種高速的帶寬訪問互聯網,若是下載過程當中遇到網絡中斷的狀況,那就必須重頭開始。爲了解決上述問題,須要一種可恢復的機制。所謂恢復是指能從以前下載中斷處恢復下載spa

要實現這種功能須要指定下載的實體範圍,這種指定範圍發送的請求叫作範圍請求code

5、內容協商返回最適合的內容

內容協商機制是指客戶端和服務器端就響應的資源內容進行交涉,而後提供給客戶端最爲適合的資源。

同一個web網站可能存在多份相同內容的頁面,好比英文/中文,它們內容上雖相同,但使用的語言卻不一樣。

當瀏覽器的默認語言爲英文/中文,訪問相同URI的WEB頁面則會顯示對應的英文版/中文版的web頁面,這樣的機制稱爲內容協商(Content Negotiation)。

若是你以爲這篇文章對你有所幫助,那就順便點個贊吧,點點關注不迷路~

黑芝麻哇,白芝麻發,黑芝麻白芝麻哇發哈!

前端哇發哈

相關文章
相關標籤/搜索