Content-Encoding 頭
Baseline 廣泛可用 *
HTTP Content-Encoding 表示性頭列出了已應用於資源的編碼及其應用順序。這使接收者知道如何解碼資料以獲取 Content-Type 頭中描述的原始內容格式。內容編碼主要用於在不丟失原始媒體型別資訊的情況下壓縮內容。
伺服器應儘可能多地壓縮資料,並在適當情況下使用內容編碼。壓縮已壓縮的媒體型別(例如 .zip 或 .jpeg)通常不合適,因為它可能會增加檔案大小。如果原始媒體已被編碼(例如,作為 .zip 檔案),則此資訊不包含在 Content-Encoding 頭中。
當 Content-Encoding 頭存在時,除非明確說明,否則其他元資料(例如 Content-Length)指的是資料的編碼形式,而不是原始資源。內容編碼與 Transfer-Encoding 不同,Transfer-Encoding 處理 HTTP 訊息本身如何逐跳在網路上傳輸。
語法
Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: br
Content-Encoding: zstd
Content-Encoding: dcb
Content-Encoding: dcz
// Multiple, in the order in which they were applied
Content-Encoding: deflate, gzip
指令
gzip-
使用 Lempel-Ziv 編碼 (LZ77) 的格式,帶有一個 32 位 CRC。這是 UNIX gzip 程式的原始格式。HTTP/1.1 標準還建議,支援此內容編碼的伺服器應識別
x-gzip作為別名,以實現相容性。 壓縮(compress)-
使用 Lempel-Ziv-Welch (LZW) 演算法的格式。該值名稱取自實現此演算法的 UNIX compress 程式。與已從大多數 UNIX 發行版中消失的 compress 程式一樣,此內容編碼在今天不被許多瀏覽器使用,部分原因是專利問題(已於 2003 年過期)。
解壓縮(deflate)brzstddcb實驗性-
使用 字典壓縮 Brotli 演算法 的格式。參見 壓縮字典傳輸。
dcz實驗性-
使用 字典壓縮 Zstandard 演算法 的格式。參見 壓縮字典傳輸。
示例
使用 gzip 壓縮
在客戶端,你可以宣告一個壓縮方案列表,該列表將隨 HTTP 請求一起傳送。Accept-Encoding 頭用於協商內容編碼。
Accept-Encoding: gzip, deflate
伺服器響應所使用的方案,由 Content-Encoding 響應頭指示。
Content-Encoding: gzip
伺服器是否使用客戶端請求的壓縮方法取決於伺服器配置和能力。
規範
| 規範 |
|---|
| HTTP 語義 # field.content-encoding |
| Zstandard 壓縮和 'application/zstd' 媒體型別 # name-content-encoding |
瀏覽器相容性
載入中…