Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 1106807 of Accept-Encoding

  • Revision slug: Web/HTTP/Headers/Accept-Encoding
  • Revision title: Accept-Encoding
  • Revision id: 1106807
  • Created:
  • Creator: teoli
  • Is current revision? No
  • Comment

Revision Content

{{HTTPSidebar}}

The Accept-Encoding request HTTP header advertizes which content encoding, usually a compression algorithm, the client is able to understand. Using content negotiation, the server then selects one of the proposal, use it and inform the client of its choice with the {{HTTPHeader("Content-Encoding")}} response header.

Header type {{Glossary("Request header")}}
{{Glossary("Forbidden header name")}} no

Syntax

Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *

// Multiple algorithms, weighted with the q-factor syntax:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Directives

gzip
A compression format using the Lempel-Ziv coding (LZ77), with a 32-bit CRC.
compress
A compression format using the Lempel-Ziv-Welch (LZW) algorithm.
deflate
A compression format using the zlib structure, with the deflate compression algorithm.
br
A compression format using the Brotli algorithm.
identity
Indicates the identity function (i.e. no compression, nor modification. This value is always considered as acceptable, even if not present.
*
Matches any content encoding not already listed in the header. This is the default value if the header is not present. It doesn't mean that any algorithm is supported; merely that no preference is expressed.
;q= (q-factor weighting)
Any value used is placed in an order of preference expressed using relative quality factor called the weight.

Examples

Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1

Specifications

Specification Title
{{RFC("7232", "Accept-Encoding", "5.3.4")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

Browser compatibility

{{Compat}}

See also

  • HTTP content negotiation
  • Header with the result of the content negotiation: {{HTTPHeader("Content-Encoding")}}
  • Other similar headers: {{HTTPHeader("TE")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}

Revision Source

<div>{{HTTPSidebar}}</div>

<p>The <strong><code>Accept-Encoding</code></strong> request HTTP header advertizes which content encoding, usually a compression algorithm, the client is able to understand. Using <a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a>, the server then selects one of the proposal, use it and inform the client of its choice with the {{HTTPHeader("Content-Encoding")}} response header.</p>

<table class="properties">
 <tbody>
  <tr>
   <th scope="row">Header type</th>
   <td>{{Glossary("Request header")}}</td>
  </tr>
  <tr>
   <th scope="row">{{Glossary("Forbidden header name")}}</th>
   <td>no</td>
  </tr>
 </tbody>
</table>

<h2 id="Syntax">Syntax</h2>

<pre class="syntaxbox">
Accept-Encoding: gzip
Accept-Encoding: compress
Accept-Encoding: deflate
Accept-Encoding: br
Accept-Encoding: identity
Accept-Encoding: *

// Multiple algorithms, weighted with the q-factor syntax:
Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5</pre>

<h2 id="Directives">Directives</h2>

<dl>
 <dt><code>gzip</code></dt>
 <dd>A compression format using the <a class="external external-icon" href="https://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77">Lempel-Ziv coding</a> (LZ77), with a 32-bit CRC.</dd>
 <dt><code>compress</code></dt>
 <dd>A compression format using the <a class="external external-icon" href="https://en.wikipedia.org/wiki/LZW">Lempel-Ziv-Welch</a> (LZW) algorithm.</dd>
 <dt><code>deflate</code></dt>
 <dd>A compression format using the <a class="external external-icon" href="https://en.wikipedia.org/wiki/Zlib">zlib</a> structure, with the <a class="external external-icon" href="https://en.wikipedia.org/wiki/DEFLATE"><em>deflate</em></a> compression algorithm.</dd>
 <dt><code>br</code></dt>
 <dd>A compression format using the <a class="external external-icon" href="https://en.wikipedia.org/wiki/Brotli">Brotli</a> algorithm.</dd>
 <dt><code>identity</code></dt>
 <dd>Indicates the identity function (i.e. no compression, nor modification. This value is always considered as acceptable, even if not present.</dd>
 <dt><code>*</code></dt>
 <dd>Matches any content encoding not already listed in the header. This is the default value if the header is not present. It doesn't mean that any algorithm is supported; merely that no preference is expressed.</dd>
 <dt><code>;q=</code> (q-factor weighting)</dt>
 <dd>Any value used is placed in an order of preference expressed using relative <a href="/en-US/docs/Glossary/Q-factor">quality factor</a> called the <em>weight</em>.</dd>
</dl>

<h2 id="Examples">Examples</h2>

<pre>
Accept-Encoding: gzip

Accept-Encoding: gzip, compress, br

Accept-Encoding: br;q=1.0, gzip;q=0.8, *;q=0.1
</pre>

<h2 id="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Title</th>
  </tr>
  <tr>
   <td>{{RFC("7232", "Accept-Encoding", "5.3.4")}}</td>
   <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility">Browser compatibility</h2>

<p class="hidden">The compatibility table in this page is generated from structured data. If you’d like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data/README.md">https://github.com/mdn/browser-compat-data/README.md</a> and send us a pull request.</p>

<p>{{Compat}}</p>

<h2 id="See_also">See also</h2>

<ul>
 <li>HTTP <a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation</a></li>
 <li>Header with the result of the content negotiation: {{HTTPHeader("Content-Encoding")}}</li>
 <li>Other similar headers: {{HTTPHeader("TE")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}</li>
</ul>
Revert to this revision