Content-Encoding

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

* Some parts of this feature may have varying levels of support.

Content-Encoding表現ヘッダーで、表現(メッセージの内容)に適用されているエンコード方式とその順番を保持しています。 これによって受信者は、元の内容の形式を取得するために、その表現をデコードする方法を知ることができます。 コンテンツのエンコード方式は、主に元のメディア形式に関する情報を失うことなくメッセージデータを圧縮するために使用されます。

元のメディア/コンテンツの形式は Content-Type ヘッダーで指定し、 Content-Encoding はデータの表現、つまり「コード化形式」に適用されることに注意してください。元のメディアが何らかの方法でエンコードされている場合(zip ファイルなど)、この情報は Content-Encoding ヘッダーには含まれません。

可能な限りデータを圧縮してこのフィールドを使用することを推奨しますが、 JPEG 画像などの一部のリソースは、すでに圧縮されています。時には、さらに圧縮をしても長さが短縮されないどころか、かえって長くなることもあります。

ヘッダー種別 表現ヘッダー
禁止ヘッダー名 いいえ

構文

http
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 もエイリアスとして解釈するよう推奨しています。

compress

Lempel-Ziv-Welch (LZW) アルゴリズムを使用した形式です。この値の名前は、このアルゴリズムを実装している UNIX の compress プログラムから取られました。このエンコード方式は、特許問題(2003 年に期限切れ)を一因として、 compress プログラムが多くの UNIX ディストリビューションから削除されたのと同様に、現在では多くのブラウザーから削除されています。

deflate

zlib 構造(RFC 1950 で定義)の deflate 圧縮アルゴリズム(RFC 1951) で定義)を使用します。

br 非標準

Brotli アルゴリズムを使用した形式です。

gzip での圧縮

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

http
Accept-Encoding: gzip, deflate

サーバーは使用した方式を、 Content-Encoding レスポンスヘッダーで応答します。

http
Content-Encoding: gzip

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

仕様書

Specification
HTTP Semantics
# field.content-encoding

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Content-Encoding
br
zstd

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
See implementation notes.

関連情報