title | slug | l10n | ||
---|---|---|---|---|
Content-Encoding |
Web/HTTP/Headers/Content-Encoding |
|
{{HTTPSidebar}}
Content-Encoding
は{{Glossary("representation header", "表現ヘッダー")}}で、表現(メッセージの内容)に適用されているエンコード方式とその順番を保持しています。
これによって受信者は、元の内容の形式を取得するために、その表現をデコードする方法を知ることができます。
コンテンツのエンコード方式は、主に元のメディア形式に関する情報を失うことなくメッセージデータを圧縮するために使用されます。
元のメディア/コンテンツの形式は {{HTTPHeader("Content-Type")}} ヘッダーで指定し、 Content-Encoding
はデータの表現、つまり「コード化形式」に適用されることに注意してください。元のメディアが何らかの方法でエンコードされている場合(zip ファイルなど)、この情報は Content-Encoding
ヘッダーには含まれません。
可能な限りデータを圧縮してこのフィールドを使用することを推奨しますが、 JPEG 画像などの一部のリソースは、すでに圧縮されています。時には、さらに圧縮をしても長さが短縮されないどころか、かえって長くなることもあります。
ヘッダー種別 | {{Glossary("Representation header", "表現ヘッダー")}} |
---|---|
{{Glossary("Forbidden header name", "禁止ヘッダー名")}} | いいえ |
Content-Encoding: gzip
Content-Encoding: compress
Content-Encoding: deflate
Content-Encoding: br
// 複数の場合、適用された順序
Content-Encoding: deflate, gzip
gzip
- : Lempel-Ziv coding (LZ77) を使用し、32 ビットの CRC が付いた形式です。これは UNIX の gzip プログラムの独自形式です。 HTTP/1.1 標準は、このエンコード方式に対応するサーバーは、互換性の面から
x-gzip
もエイリアスとして解釈するよう推奨しています。
- : Lempel-Ziv coding (LZ77) を使用し、32 ビットの CRC が付いた形式です。これは UNIX の gzip プログラムの独自形式です。 HTTP/1.1 標準は、このエンコード方式に対応するサーバーは、互換性の面から
compress
- : Lempel-Ziv-Welch (LZW) アルゴリズムを使用した形式です。この値の名前は、このアルゴリズムを実装している UNIX の compress プログラムから取られました。このエンコード方式は、特許問題(2003 年に期限切れ)を一因として、 compress プログラムが多くの UNIX ディストリビューションから削除されたのと同様に、現在では多くのブラウザーから削除されています。
deflate
br
{{Non-standard_Inline}}- : Brotli アルゴリズムを使用した形式です。
クライアント側では、送信で使用してほしい圧縮方式のリストを HTTP リクエストで示すことができます。 {{HTTPHeader("Accept-Encoding")}} ヘッダーを使用して、コンテンツのエンコード方式の交渉が行われます。
Accept-Encoding: gzip, deflate
サーバーは使用した方式を、 Content-Encoding
レスポンスヘッダーで応答します。
Content-Encoding: gzip
なお、サーバーはどの圧縮方式も使用することを義務づけられていません。圧縮はサーバー設定や使用しているサーバーモジュールに強く依存します。
{{Specifications}}
{{Compat}}
- {{HTTPHeader("Accept-Encoding")}}
- {{HTTPHeader("Transfer-Encoding")}}