HTTP——學習筆記(3)

HTTP報文:用於HTTP協議交互的信息,客戶端的HTTP報文叫作 請求報文,響應端的叫作 響應報文web

本質:是由多行(用CR+LF做換行符)數據構成的字符串文本瀏覽器

  注:CR:回車,打印針回到行首   LF:換行,打印針移至下一行服務器

構成:報文首部、報文主體ide

  報文首部:服務器端或客戶端需處理的請求或響應的內容及屬性網站

  報文主體:應被髮送的數據編碼

請求報文(上)  響應報文(下)spa

 

請求行:請求的方法、請求URI、HTTP版本orm

狀態行:響應結果狀態碼、緣由短語、HTTP版本視頻

首部字段:表示請求和響應的各類條件和屬性的各種首部,通常有四種(見圖)對象

其餘:包含HTTP的RFC裏未定義的首部(Cookie等)

 

HTTP中的編碼

HTTP中能夠直接傳輸數據,也能夠編碼後進行傳輸,編碼的方法能夠有效地處理大量的訪問請求,可是編碼過程須要計算機來完成,所以會消耗更多的CPU等資源

  報文:HTTP通訊中的基本單位,由8位組字節流組成,經過HTTP通訊傳輸

  實體:做爲請求或響應的有效載荷數據(補充項)被傳輸,其內容由實體首部和實體主體組成

  報文的主體用於傳輸請求或響應的實體主體,一般,報文主體等於實體主體,只有當傳輸中進行編碼操做時,實體主體的內容發生變化,才致使它和報文主體產生差別

HTTP中的內容編碼能夠保持實體信息原樣進行壓縮,內容編碼後的實體由客戶端接收並負責解碼

  經常使用的內容編碼:gzip   compress  deflate  identity(不進行編碼)

  傳輸編碼機制:在通訊時按某種編碼方式傳輸,但只定義 做用於分塊傳輸編碼中

  分塊傳輸編碼:傳輸大容量數據時,經過把數據分割成多塊,可以讓瀏覽器逐步顯示頁面

  郵件中的MIME機制:多用途因特網郵件擴展,支持發送多種類型的文件,如郵件,文本,圖片,視頻等,由於使用一種稱爲多部分對象集合的方法

  多部分對象集合:HTTP中也採用了多部分集合,發送的一份報文主體內可含有多類型實體,其中包含的對象以下:

  multipart/form-data:在web表單文件上傳時使用

  multipart/byteranges:狀態碼206(部份內容),響應報文包含了多個範圍的內容時使用

 

HTTP獲取部份內容請求 

在請求頭部加上Range劃定請求範圍

  例如:Range:bytes=5001-10000     5001-10000字節

     Range:bytes=5001-               5001至後面所有的字節

     Range:bytes=-3000,5000-7000      一開始到3000字節和5000到7000字節

返回狀態碼的206響應報文,若服務器沒法響應範圍請求,則會返回狀態碼200 OK和完整的實體內容

 

HTTP內容協商

同一個web網站有可能會有多分內容相同的頁面,好比英語版和中文版,當瀏覽器的默認語言爲英語或中文,訪問相同的URI的web頁面時會顯示對應的英語版或中文版頁面,這樣的機制稱爲 內容協商

判斷基準:響應資源的語言、字符集、編碼方式等

首部字段:Accept

       Accept-Charset

     Accept-Encoding

     Accept-Language

     Content-Language

內容協商的技術:

    服務器驅動協商:由服務器端進行內容篩選

    客戶端驅動協商:由客戶端進行內容篩選,用戶從可選列表中手動選擇,也可利用Javascript進行選擇

    透明協商:由服務器端和客戶端各自進行內容協商

相關文章
相關標籤/搜索