--- title: Accept-Encoding slug: Web/HTTP/Headers/Accept-Encoding tags: - Content Negotiation - HTTP - HTTP Header - Reference - Request header translation_of: Web/HTTP/Headers/Accept-Encoding ---
Accept-Encoding は HTTP のリクエストヘッダーで、コンテンツのエンコーディング、ふつうは圧縮アルゴリズムのどれをクライアントが理解することができるかを示します。 コンテンツ交渉を使用して、サーバーは提案されたものから一つを選択して使用し、 {{HTTPHeader("Content-Encoding")}} レスポンスヘッダーを使用してクライアントに選択結果を知らせます。
クライアントとサーバーが同じ圧縮アルゴリズムに対応していた場合でも、 identity の値が受け付けられる場合は、サーバーはレスポンスの本文を圧縮しないことを選択する場合があります。これには主に二つの場合があります。
identity の値、つまりエンコードをしないということは、 identity;q=0 または *;q=0 で identity とは別な値が明確に設定されていない限り、サーバーは{{HTTPStatus("406")}} Not Acceptable エラーを返してはいけません。
IANA レジストリが公式なコンテンツエンコーディングの完全なリストを管理しています。
bzip および bzip2 の二種類のエンコーディングが使用されることがありますが、標準ではありません。これはこれら二つの UNIX プログラムで使用されているアルゴリズムを実装しています。なお、前者は特許ライセンスの問題で開発終了しています。| ヘッダー種別 | {{Glossary("Request header", "リクエストヘッダー")}} |
|---|---|
| {{Glossary("Forbidden header name", "禁止ヘッダー名")}} | はい |
Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *
// 複数のアルゴリズムを {{Glossary("Quality Values", "quality value")}} で重み付けする構文:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5
gzipcompressdeflatebridentity*;q= (q 値の重みづけ)Accept-Encoding: gzip Accept-Encoding: gzip, compress, br Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
| 仕様書 | 題名 |
|---|---|
| {{RFC("7231", "Accept-Encoding", "5.3.4")}} | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context |
{{Compat("http.headers.Accept-Encoding")}}