Content-Encoding エンティティヘッダーは、メディア種別の圧縮に使用します。存在する場合、値はエンティティ本体にどのエンコーディングが適用されているかを示します。これはクライアントに、 Content-Type ヘッダーで示されるメディア種別を得るためのデコード方法を知らせます。

できるだけデータを圧縮し、このヘッダーを使用することが推奨されますが、 JPEG 画像など、ある種のリソースはすでに圧縮されています。その場合、さらに圧縮をしてもサイズが小さくならないどころか、かえって大きくなることもあります。

ヘッダー種別 エンティティヘッダー
禁止ヘッダー名 いいえ

構文

Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: identity
Content-Encoding: br

// 複数の場合、適用順に並べる
Content-Encoding: gzip, identity
Content-Encoding: deflate, gzip

ディレクティブ

gzip
32ビットの CRC 付きの Lempel-Ziv coding (LZ77) を使用する形式です。これは UNIX の gzip プログラム由来の形式です。 HTTP/1.1 標準は、この Content-Encoding に対応するサーバーは、互換性の面から x-gzip もエイリアスとして解釈するよう推奨しています。
compress
Lempel-Ziv-Welch (LZW) アルゴリズムを使用した形式です。この値の名前は、このアルゴリズムを実装している UNIX の compress プログラムから取られました。特許問題 (2003年に期限切れ) を一因として、 compress プログラムが多くの UNIX ディストリビューションから削除されたのと同様に、この Content-Encoding は現在では多くのブラウザーから削除されています。
deflate
zlib 構造 (RFC 1950 で定義) deflate 圧縮アルゴリズム (RFC 1951 で定義) を使用します。
identity
恒等関数 (つまり、圧縮も変更もなし) を表します。この値は、明示的に指定された場合を除き、常に受け入れ可能とみなされます。
br
Brotli アルゴリズムを使用した形式です。

gzip での圧縮

クライアント側では、送信で使用してほしい圧縮方式のリストを HTTP 要求で示すことができます。 Accept-Encoding ヘッダーによって、コンテンツのエンコード方式の交渉が行われます。

Accept-Encoding: gzip, deflate

サーバーは応答に使用したエンコード方式を、 Content-Encoding 応答ヘッダーで示します。

Content-Encoding: gzip

なお、サーバーには、いずれかの方法で圧縮することは義務づけられていません。圧縮はサーバー設定や使用しているサーバーモジュールに強く依存します。

仕様書

仕様書 題名
RFC 7231, セクション 3.1.2.2: Content-Encoding Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content
RFC 7932: Brotli Compressed Data Format Brotli 圧縮データ形式

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応Chrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 ありIE 完全対応 ありOpera 完全対応 ありSafari 完全対応 ありWebView Android 完全対応 ありChrome Android 完全対応 ありEdge Mobile 完全対応 ありFirefox Android 完全対応 ありOpera Android 完全対応 ありSafari iOS 完全対応 ありSamsung Internet Android 完全対応 あり
br
実験的非標準
Chrome 完全対応 50Edge 未対応 なしFirefox 完全対応 44IE 未対応 なしOpera 完全対応 36Safari 未対応 なしWebView Android 完全対応 51Chrome Android 完全対応 51Edge Mobile 未対応 なしFirefox Android 完全対応 44Opera Android 未対応 なしSafari iOS 未対応 なしSamsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。
非標準。ブラウザー間の互換性が低い可能性があります。

関連情報

ドキュメントのタグと貢献者

このページの貢献者: minoki, hiwayama, mfuji09
最終更新者: minoki,