摘要:在使用分塊編碼時,可以沒有,此時,數據是分為一系列的塊來發(fā)送的,每塊都有大小說明。實體摘要為檢測實體主體的數據是否被修改過,發(fā)送方可以在生成初始的主體時,生成一個數據的校驗和。分塊編碼把報文分割為若干個大小已知的塊。
WilsonLiu"s blog 首發(fā)地址
實體和編碼每天都有數以億計的各種媒體對象經由HTTP傳送,如圖像,文本,影片以及軟件程序等。HTTP會確保它的報文被正確的傳送,識別,提前以及適當的處理,則需要滿足以下條件。
可以被正確的識別(通過Content-Type首部說明媒體格式,Content-Language首部說明語言),以便瀏覽器和其他客戶端能夠正確的處理內容
可以被正確的解包(通過Content-Length首部和Content-Encoding首部)
是最新的(通過實體驗證碼和緩存過期控制)
符合用戶的需要(基于Accept系列的內容協(xié)商首部)
在網絡上可以快速有效地傳輸(通過范圍請求,差異編碼以及其他數據壓縮方法)
完整到達,未被篡改過(通過傳輸編碼首部和Content-MD5校驗和首部)
為了實現上述目標,HTTP/1.1版本定義了以下10個基本實體首部字段。
Content-Type
Content-Length
Content-Language
Content-Encoding
Content-Location
Content-Range
Content-MD5
Last-Modified
Expires
Allow
Etag
Cache-Control
Content-Length:實體的大小Content-Length首部指示出報文中編碼后實體主體的字節(jié)大小。使用Content-Length首部是為了能夠檢測出服務器崩潰而導致的報文截尾,并對共享持久連接的多個報文進行正確的分段。
Content-Length首部對于持久連接是必不可少的,如果響應通過持久連接傳輸,就可能有另一條HTTP響應緊隨其后。客戶端通過Content-Length首部就可以知道報文在何處結束,下一條報文從何處開始。因為連接是持久的,客戶端無法依賴連接關閉來判別報文的結束。
在使用分塊編碼(chunked encoding)時,可以沒有Content-Length,此時,數據是分為一系列的塊來發(fā)送的,每塊都有大小說明。
HTTP/1.1規(guī)范中建議對于帶有主體但沒有Content-Length首部的請求,服務器如果無法確定報文的長度,就應當發(fā)送400 Bad Request響應或411 Length Required響應,后一種表明服務器要求收到正確的Content-Length首部。
實體摘要為檢測實體主體的數據是否被修改過,發(fā)送方可以在生成初始的主體時,生成一個數據的校驗和。Content-MD5首部是在對內容作了所有需要的內容編碼之后,還沒做任何傳輸編碼之前,計算出來的。
媒體類型和字符集Content-Type首部字段說明了實體主體的MIME類型,同時還支持可選的參數來進一步說明內容的類型。
Content-Type: text/html; charset=iso-8859-4
多部分媒體類型
MIME中的multipart電子郵件報文中包含多個報文,它們合在一起作為單一的復雜報文發(fā)送。每一部分都是獨立的,有各自的描述其內容的集,不同的部分之間用分界字符串連接在一起。
HTTP也支持多部分主體。不過,通常只用在下列兩種情形之一:提交填寫好的表格,或是作為承載若干文檔片段的范圍響應。
HTTP使用Content-Type:multipart/form-data或Content-Type:multipart/mixed這樣的首部以及多部分主體來發(fā)送這種請求。
HTTP應用程序有時在發(fā)送之前需要對內容進行編碼,當內容經過編碼之后,編好碼的數據就防止實體主體中,像往常一樣發(fā)送給接收方。此時Content-Length變?yōu)榫幋a后的長度。
同時,我們不希望服務器用客戶端無法解碼的方式來對內容進行編碼,因此,客戶端需要把自己能夠支持的內容編碼列表防止請求的Accept-Encoding首部。
使用傳輸編碼是為了改變報文中的數據在網絡上傳輸的方式。
分塊編碼
分塊編碼是HTTP規(guī)范唯一定義的傳輸編碼方式。
分塊編碼把報文分割為若干個大小已知的塊。塊之間是緊挨著發(fā)送的,這樣就不需要在發(fā)送之前就知道整個報文的大小了。
范圍請求是指客戶端實際上只請求文檔的一部分,或者說某個范圍。比如,下載電影下到一半網絡故障,連接中斷了,此時可利用范圍請求來繼續(xù)下載。
Range: bytes=4000-
代表客戶端請求的是文檔開頭4000字節(jié)以后的步伐內容。
Range首部在流行的點對點(Peer-to-Peer)文件共享客戶端軟件中得到廣泛的應用,他們從不同的對等實體同時下載多媒體文件的不同部分。
差異編碼差異編碼是HTTP協(xié)議的一個擴展,它通過交換對象改變的部分而不是完整的對象來優(yōu)化傳輸性能。
請求報文
A-IM: diffe //Accept-Instance-Manipulation If-None-Match: ababdisdksada //驗證是否新鮮
響應報文
IM:diffe //差異編碼的算法 Etag: zdsdsfsafsd //更新后的版本號 Delta-base: ababdisdksada //差異算法基于的Etag
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30384.html
摘要:在使用分塊編碼時,可以沒有,此時,數據是分為一系列的塊來發(fā)送的,每塊都有大小說明。實體摘要為檢測實體主體的數據是否被修改過,發(fā)送方可以在生成初始的主體時,生成一個數據的校驗和。分塊編碼把報文分割為若干個大小已知的塊。 WilsonLius blog 首發(fā)地址 實體和編碼 每天都有數以億計的各種媒體對象經由HTTP傳送,如圖像,文本,影片以及軟件程序等。HTTP會確保它的報文被正確的傳送...
摘要:首發(fā)地址識別認證與安全第三部分的章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。安全使用基本認證的唯一方式就是將其與配合使用。加密之前的原始報文通常被稱為明文或。 WilsonLius blog 首發(fā)地址 識別,認證與安全 第三部分的4章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。 客戶端識別與cookie機制 第十一章 H...
摘要:首發(fā)地址識別認證與安全第三部分的章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。安全使用基本認證的唯一方式就是將其與配合使用。加密之前的原始報文通常被稱為明文或。 WilsonLius blog 首發(fā)地址 識別,認證與安全 第三部分的4章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。 客戶端識別與cookie機制 第十一章 H...
摘要:首發(fā)地址識別認證與安全第三部分的章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。安全使用基本認證的唯一方式就是將其與配合使用。加密之前的原始報文通常被稱為明文或。 WilsonLius blog 首發(fā)地址 識別,認證與安全 第三部分的4章提供了一系列的技術和機器,可用來跟蹤身份,進行安全性檢測,控制對內容的訪問。 客戶端識別與cookie機制 第十一章 H...
閱讀 2312·2021-11-15 11:38
閱讀 2440·2021-11-15 11:37
閱讀 2543·2021-08-24 10:00
閱讀 2901·2019-08-30 15:56
閱讀 1260·2019-08-30 15:53
閱讀 3695·2019-08-29 18:43
閱讀 2930·2019-08-29 17:01
閱讀 3255·2019-08-29 16:25