HTTP_03_HTTP報文中的HTTP信息

1.HTTP報文

分爲3部分:

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

【空行(CR+LF)】CR(Carriage Return,回車符)和LF(Line Feed,換行符)

【報文主體】應被髮送的數據

其中報文首部又分爲:

請求/響應行
請求/響應首部字段
通用首部字段
實體首部字段
其他

2.編碼提升傳輸速率

HTTP協議中內容編碼指明應用在實體內容上的編碼格式,並保持實體信息原樣壓縮。

內容編碼後的實體由客戶端接收並負責解碼。

在傳輸大容量數據時,使用分塊傳輸編碼(Chunked Transfer Coding)通過把數據分割成多塊,能夠讓瀏覽器逐步顯示頁面。

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

HTTP協議採用多部分對象集合(Multipart),發送的一份報文主體內可包含多類型實體。通常在圖片或這文本文件等上傳時使用。需要在首部字段裏夾上Content-Type。

  • multipart/from-data 在Web表單文件上傳時使用
  • multipart/byteranges 狀態碼206(Partial Context,部分內容)

4.獲取部分內容的分爲請求

能從之前下載中斷處恢復下載。使用範圍請求(Range Request)指定範圍發送的請求。

例如:

在首部字段Range來指定資源的byte範圍。

Range:bytes=-3000, 5001- // 從一開始到3000字節和從5001字節之後全部的多重範圍

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

內容協商(Content Negotiation)機制是指客戶端和服務器端就響應的資源內容進行交涉,然後提供給客戶端最爲適合的資源。例如:google對不同國家不同語言的顯示。

包含在請求報文中的某些首部字段就是判斷的基準。

  • Accept
  • Accept-Charset
  • Accept-Encoding
  • Accept-Language
  • Content-Language
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章