只有雙端(客戶端和伺服器端)都支援http/1.1才能使用範圍請求。
1.範圍請求的請求報文
在http/1.1的請求報文中,有乙個首部字段range
來指定請求資源的byte範圍。
範圍請求報文示例:
range: bytes =5001-10000 byte範圍指定形式如下:
2.範圍請求的響應報文
針對範圍請求,通過響應頭accept-ranges:bytes
表示當前資源支援範圍請求,響應會返回狀態碼為206 partial content
的響應報文。針對請求報文中的range欄位,響應報文中也又響應的字段content-range
來標記響應的實體內容範圍。
範圍請求的響應報文示例:
content-type: image/jpegcontent-range
欄位的格式如上,首先表示單位是byte,然後表明本次響應的實體長度,和所請求資源的總長度,上例則表示本次響應了從5001到10000位元組的,該的總大小為10000位元組。而content-length
表示的是此次響應的實體內容長度。
另外,對於多重範圍請求,響應會在首部字段content-type
標明multipart/byteranges
後返回響應報文。
如果伺服器不安無法響應範圍請求,則會返回狀態碼200 ok和完整的實體內容。
3.請求失效
在http協議中,響應報文可以通過etag
字段或者last-modified
字段標識資源是否更新。請求報文則使用if-range
欄位把etag
字段或者last-modified
欄位的內容複製即可。
(部分內容參考《**http》和
http範圍請求
http 1.1之後才支援,需要雙端都支援 服務端頭資訊中有 accept ranges bytes 表明伺服器支援範圍請求 範圍請求 http code 返回 206 partial content 客戶端請求頭 content range bytes 0 1408774 1408775 star...
Http 資料壓縮 分塊傳輸 範圍請求
1.首先來看資料壓縮 http傳輸資料時,會對資料進行壓縮,因為有些資料大的有幾 g 幾十 g 都有可能。通常瀏覽器傳送請求時會帶著 accept econding 頭欄位,面是瀏覽器支援的壓縮格式列表,例如 gzip deflate br 等,這樣伺服器就可以從中選擇一種壓縮演算法,放進 cont...
HTTP請求 HTTP方法
http 1.1中可使用的方法 get 獲取資源 獲取伺服器的某個資源 get方法用來請求訪問已經被uri識別的資源。制定的資源經伺服器端解析後返回響應內容。也就是說,如果請求的資源是文字,那就保持原樣返回 如果是像cgi common gateway inte ce,通用閘道器介面 那樣的程式,就...