Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. HTTP
  3. Référence
  4. En-têtes
  5. Accept-Encoding

Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in EnglishAlways switch to English

En-tête Accept-Encoding

Baseline Widely available *

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'en-tête de requête etréponse HTTPAccept-Encoding indique le codage du contenu (généralement un algorithme de compression) que l'émetteur peut comprendre.Dans les requêtes, le serveur utilise lanégociation de contenu pour sélectionner l'un des encodages proposés par le client et informe ce dernier de son choix via l'en-tête de réponseContent-Encoding.Dans les réponses, il fournit des informations sur les codages de contenu que le serveur peut comprendre dans les messages vers la ressource demandée, afin que l'encodage puisse être utilisé dans les requêtes ultérieures vers cette ressource.Par exemple,Accept-Encoding est inclus dans une réponse415 Unsupported Media Type si une requête vers une ressource (par exemple,PUT) utilise un encodage non pris en charge.

Même si le client et le serveur prennent en charge les mêmes algorithmes de compression, le serveur peut choisir de ne pas compresser le corps d'une réponse si la valeuridentity est également acceptable.Cela se produit dans deux cas courants :

  1. Les données sont déjà compressées, donc une seconde compression ne réduira pas la taille des données transmises, et peut même parfois l'augmenter. C'est le cas des formats d'images déjà compressés (comme JPEG).
  2. Le serveur est surchargé et ne peut pas allouer de ressources de calcul pour effectuer la compression. Par exemple, Microsoft recommande de ne pas compresser si un serveur utilise plus de 80% de sa puissance de calcul.

Tant que les directivesidentity;q=0 ou*;q=0 n'interdisent pas explicitement la valeuridentity (c'est-à-dire aucune compression), le serveur ne doit jamais retourner une erreur406 Not Acceptable.

Note :L'IANA maintientune liste officielle des codages de contenu(angl.).Les encodagesbzip etbzip2 ne sont pas standards, mais peuvent être utilisés dans certains cas, notamment pour la compatibilité avec des systèmes anciens.

Type d'en-têteEn-tête de requête,En-tête de réponse
En-tête de requête interditOui

Syntaxe

http
Accept-Encoding: gzipAccept-Encoding: compressAccept-Encoding: deflateAccept-Encoding: brAccept-Encoding: zstdAccept-Encoding: dcbAccept-Encoding: dczAccept-Encoding: identityAccept-Encoding: *// Plusieurs algorithmes, pondérés avec la syntaxe de valeur de qualité :Accept-Encoding: deflate, gzip;q=1.0, *;q=0.5

Directives

gzip

Un format de compression utilisant lecodage Lempel-Ziv (LZ77) avec une somme de contrôle CRC 32 bits.

compress

Un format de compression utilisant l'algorithmeLempel-Ziv-Welch (LZW).

deflate

Un format de compression utilisant la structurezlib avec l'algorithme de compression [deflate]https://fr.wikipedia.org/wiki/Deflate).

br

Un format de compression utilisant l'algorithmeBrotli.

zstd

Un format de compression utilisant l'algorithmeZstandard.

dcbExpérimental

Un format utilisant l'algorithmeDictionary-Compressed Brotli(angl.). VoirCompression Dictionary Transport.

dczExpérimental

Un format utilisant l'algorithmeDictionary-Compressed Zstandard(angl.). VoirCompression Dictionary Transport.

identity

Indique la fonction identité (c'est-à-dire sans modification ni compression). Cette valeur est toujours considérée comme acceptable, même si elle est omise.

* (joker)

Correspond à tout codage de contenu non déjà listé dans l'en-tête. C'est la valeur par défaut si l'en-tête n'est pas présent. Cette directive n'implique pas que tout algorithme est pris en charge, mais indique qu'aucune préférence n'est exprimée.

;q= (pondération qvalues)

Toute valeur est placée dans un ordre de préférence exprimé à l'aide d'unevaleur de qualité relative appeléepoids.

Exemples

ValeursAccept-Encoding par défaut

La navigation dans un navigateur envoie généralement la valeur d'en-tête de requêteAccept-Encoding suivante :

http
GET /fr/ HTTP/2Host: developer.mozilla.orgAccept-Encoding: gzip, deflate, br, zstd

ValeursAccept-Encoding pondérées

L'exemple suivant montre les préférencesAccept-Encoding à l'aide d'une valeur de qualité comprise entre0 (priorité la plus basse) et1 (priorité la plus haute).La compression Brotli est pondérée à1.0, ce qui fait debr le premier choix du client, suivi degzip à la priorité0.8, puis de tout autre codage de contenu à0.1 :

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

Spécifications

Specification
HTTP Semantics
# field.accept-encoding

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2026 Movatter.jp