Accept-Encoding

Cette traduction est incomplète. Aidez à traduire cet article depuis l'anglais.

L'en-tête HTTP Accept-Encoding 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 (content negotiation), 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 Content-Encoding de la réponse.
 
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 entity (aucune compression) est accepté par le client. Deux exemples de cas communs peuvent conduire à la non-compression du corps de la réponse:
 
  • 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;
  • 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.

As long as the identity value, meaning no encryption, is not explicitly forbidden, by an identity;q=0 or a *;q=0 without another explicitly set value for identity, the server must never send back a 406 Not Acceptable error.

 

Notes:
  • An IANA registry maintains a complete list of official content encodings.

  • Two others content encoding, bzip and bzip2, are sometimes used, though not standard. They implement the algorithm used by these two UNIX programs. Note that the first one was discontinued due to patent licensing problems.

 

Header type Request header
Forbidden header name yes

Syntaxe

Accept-Encoding: encoding_method;q=value
encoding_method
La valeur de encoding_method peut être: gzip, compress, deflate, br, identity ou *.
value
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.

Il est possible de préciser plusieurs méthodes d'encodage, elles doivent être séparée par une virgule.

La valeur q est facultative, il est possible de l'omettre dans l'en-tête.

Directives

gzip
Un format de compression utilisant Lempel-Ziv coding (LZ77), avec un CRC (Contrôle de Redondance Cyclique) de 32-bit.
compress
Un format de compression utilisant l'algorithme Lempel-Ziv-Welch (LZW).
deflate
Un format de compression utilisant la structure zlib, avec l'algorithme de compression deflate.
br
Un format de compression utilisant l'algorithme Brotli.
identity
Indique la fonction identité (c'est-à-dire pas de compression ou de modification). Cette valeur est toujours considérée comme acceptable, mais si l'en-tête ne le précise pas.
*
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.
;q= (qvalues weighting)
La valeur indique l'ordre de préférence des méthodes de compression à utiliser. Ce champ utilise les quality values aussi appelée weight ou poids.

Exemples

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 7231, section 5.3.4: Accept-Encoding Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context

Browser compatibility

Fonctionnalité Chrome Edge Firefox Internet Explorer Opera Safari Servo
Accept-Encoding(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)
Fonctionnalité Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Accept-Encoding(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)(Oui)

See also

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : Athorcis, PlayeurZero
 Dernière mise à jour par : Athorcis,