aboutsummaryrefslogtreecommitdiff
path: root/files/fr/web/http/headers/accept-encoding
diff options
context:
space:
mode:
Diffstat (limited to 'files/fr/web/http/headers/accept-encoding')
-rw-r--r--files/fr/web/http/headers/accept-encoding/index.html127
1 files changed, 127 insertions, 0 deletions
diff --git a/files/fr/web/http/headers/accept-encoding/index.html b/files/fr/web/http/headers/accept-encoding/index.html
new file mode 100644
index 0000000000..d65b1ca62b
--- /dev/null
+++ b/files/fr/web/http/headers/accept-encoding/index.html
@@ -0,0 +1,127 @@
+---
+title: Accept-Encoding
+slug: Web/HTTP/Headers/Accept-Encoding
+translation_of: Web/HTTP/Headers/Accept-Encoding
+---
+<div>{{HTTPSidebar}}</div>
+
+<div>L'en-tête HTTP <strong><code>Accept-Encoding</code></strong> permet de définir quel sera l'encodage du contenu. Il s'agit généralement de l'algorithme de compression utilisé par le serveur. Le client peut alors décoder le corps de la requête correctement. Utilisant la négociation de contenu (<a href="/en-US/docs/Web/HTTP/Content_negotiation">content negotiation)</a>, le serveur choisit l'une des propositions d'encodage que le client supporte. Le serveur l'utilise et le notifie au client à l'aide de l'en-tête {{HTTPHeader("Content-Encoding")}} de la réponse.</div>
+
+<div> </div>
+
+<div>Même si le client et le serveur supportent deux algorithmes de compressions communs, le serveur peut choisir de ne pas compresser le corps de la réponse si l'encodage <code>entity </code>(aucune compression) est accepté par le client. Deux exemples de cas communs peuvent conduire à la non-compression du corps de la réponse:</div>
+
+<div> </div>
+
+<ul>
+ <li>Les données sont déjà compressées et la compression ne réduira pas la taille des données transmises. Cela peut être le cas de certains formats d'images qui sont déjà compressés;</li>
+ <li>Le serveur est en surcharge et ne peut plus allouer suffisamment de temps de calcul nécessaire pour compresser les données. Microsoft recommande de ne pas utiliser la compression si le serveur utilise plus de 80% de la puissance de calcul.</li>
+</ul>
+
+<p>Dès lors que l’usage d’<code>identity</code>, signifiant l’absence de compression, n’est pas explicitement interdite, que ce soit par <code>identity;q=0</code> ou <code>*;q=0</code> (sans l’usage d’une autre valeur pour <code>identity</code>), le serveur ne doit jamais renvoyer une erreur {{HTTPStatus("406")}} <code>Not Acceptable.</code></p>
+
+<div class="note"><strong>Notes:</strong>
+
+<ul>
+ <li>
+ <p>Un dépot IANA garde à jour <a href="http://www.iana.org/assignments/http-parameters/http-parameters.xml#http-parameters-1">une liste complète des encodage de contenu</a>.</p>
+ </li>
+ <li>Deux autres encodages, <code>bzip</code> et<code>bzip2</code>, sont parfois utilisés, bien que non-standard. Ils implémentent l’algorithme utilisé par les deux programmes UNIX respectifs. À noter que le premier n’est plus maintenu suite à des problème de license.</li>
+</ul>
+</div>
+
+<p> </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>yes</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Syntaxe">Syntaxe</h2>
+
+<pre class="syntaxbox">Accept-Encoding: encoding_method;q=value
+</pre>
+
+<dl>
+ <dt>encoding_method</dt>
+ <dd>La valeur de encoding_method peut être: gzip, compress, deflate, br, identity ou *.</dd>
+ <dt>value</dt>
+ <dd>La valeur de q (qvalue) correspond à la priorité d'utilisation des méthodes d'encodage. Il doit être un nombre compris entre 0 et 1, il peut s'agir d'un nombre à virgule (pas plus de 3 chiffres après la virgule). 1 étant la valeur la plus importante, 0 la moins importante.</dd>
+</dl>
+
+<div class="note">
+<p>Il est possible de préciser plusieurs méthodes d'encodage, elles doivent être séparée par une virgule.</p>
+</div>
+
+<div class="note">
+<p>La valeur <code>q</code> est facultative, il est possible de l'omettre dans l'en-tête.</p>
+</div>
+
+<h2 id="Directives">Directives</h2>
+
+<dl>
+ <dt><code>gzip</code></dt>
+ <dd>Un format de compression utilisant <a class="external external-icon" href="http://en.wikipedia.org/wiki/LZ77_and_LZ78#LZ77">Lempel-Ziv coding</a> (LZ77), avec un CRC (Contrôle de Redondance Cyclique) de 32-bit.</dd>
+</dl>
+
+<dl>
+ <dt><code>compress</code></dt>
+ <dd>Un format de compression utilisant l'algorithme <a class="external external-icon" href="http://en.wikipedia.org/wiki/LZW">Lempel-Ziv-Welch</a> (LZW).</dd>
+ <dt><code>deflate</code></dt>
+ <dd>Un format de compression utilisant la structure <a class="external external-icon" href="http://en.wikipedia.org/wiki/Zlib">zlib</a>, avec l'algorithme de compression <a class="external external-icon" href="http://en.wikipedia.org/wiki/DEFLATE"><em>deflate</em></a>.</dd>
+ <dt><code>br</code></dt>
+ <dd>Un format de compression utilisant l'algorithme <a class="external external-icon" href="https://en.wikipedia.org/wiki/Brotli">Brotli</a>.</dd>
+ <dt><code>identity</code></dt>
+ <dd>Indique la fonction identité (c'est-à-dire pas de compression ou de modification). Cette valeur est toujours considérée comme acceptable, même si l'en-tête ne le précise pas.</dd>
+ <dt><code>*</code></dt>
+ <dd>Correspond à tous les systèmes d'encodage de contenu qui n'ont pas été listés dans l'en-tête. C'est la valeur par défaut de l'ent-ête s'il n'est pas présent. Cela ne signifie pas que tous les algorithmes sont supportés; seulement qu'aucune préférence n'est exprimée.</dd>
+ <dt><code>;q=</code> (qvalues weighting)</dt>
+ <dd>La valeur indique l'ordre de préférence des méthodes de compression à utiliser. Ce champ utilise les <a href="/en-US/docs/Glossary/Quality_value">quality values</a> aussi appelée <em>weight </em>ou <em>poids</em>.</dd>
+</dl>
+
+<h2 id="Exemples">Exemples</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="Spécifications">Spécifications</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Spécification</th>
+ <th scope="col">Titre</th>
+ </tr>
+ <tr>
+ <td>{{RFC("7231", "Accept-Encoding", "5.3.4")}}</td>
+ <td>Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilité">Compatibilité</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">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
+
+<p>{{Compat("http/headers/accept-encoding")}}</p>
+
+<h2 id="Voir_aussi">Voir aussi</h2>
+
+<ul>
+ <li><a href="https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.3">https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html</a></li>
+ <li><a href="/en-US/docs/Web/HTTP/Content_negotiation">Négociation de contenu</a> HTTP</li>
+ <li>En-tête résultant de la négociation de contenu: {{HTTPHeader("Content-Encoding")}}</li>
+ <li>Autres en-têtes en rapport: {{HTTPHeader("TE")}}, {{HTTPHeader("Accept")}}, {{HTTPHeader("Accept-Charset")}}, {{HTTPHeader("Accept-Language")}}</li>
+</ul>