HTTPQUERY
Français

TE

Utilisation

L’en-tête TE permet à un client de communiquer au serveur ses préférences d’encodage de transfert. Le serveur s’appuie sur cette information pour choisir un encodage approprié pour le Transfer-Encoding du corps de la réponse.

En HTTP/1.1, l’encodage de transfert chunked est toujours pris en charge de façon implicite et n’a pas besoin d’être listé dans l’en-tête TE. L’en-tête sert principalement à deux choses : annoncer la prise en charge d’algorithmes de compression supplémentaires (gzip, deflate, compress) appliqués au niveau du transfert, et signaler la prise en charge des champs Trailer.

La valeur trailers est particulièrement importante. Si le client ne déclare pas TE: trailers, le serveur n’a aucune garantie que le client traite les champs de trailer, même lorsque la réponse utilise l’encodage chunked. Les champs de trailer transportent des métadonnées telles que des sommes de contrôle ou des signatures numériques ajoutées après le corps du message.

Chaque directive d’encodage accepte une valeur de qualité facultative (q) comprise entre 0 et 1, les valeurs les plus élevées exprimant une préférence plus forte. En l’absence de valeur de qualité, le serveur considère la préférence comme égale à 1.

Remarque

En HTTP/2 et HTTP/3, la seule valeur acceptée pour l’en-tête TE est trailers. Les encodages au niveau du transfert sont pris en charge par la couche de tramage du protocole.

trailers

La directive trailers indique que le client accepte les champs Trailer dans un encodage de transfert chunked. Cette valeur ne participe pas au classement par valeur de qualité.

gzip

La directive gzip indique que le client prend en charge le codage Lempel-Ziv (LZ77) avec un CRC 32 bits au niveau du transfert.

deflate

La directive deflate indique que le client prend en charge les données compressées avec zlib au niveau du transfert.

compress

La directive compress indique que le client prend en charge la compression Lempel-Ziv-Welch (LZW) au niveau du transfert.

q (valeur de qualité)

Le paramètre q attribue un poids relatif à chaque préférence d’encodage. Les valeurs vont de 0 (non acceptable) à 1 (préféré). Le serveur utilise les valeurs de qualité pour sélectionner le meilleur encodage de transfert.

Exemple

Un client annonce la prise en charge des champs de trailer et de l’encodage de transfert deflate. La valeur de qualité de 0,5 donne à deflate une priorité inférieure à la valeur par défaut implicite de 1 appliquée aux autres encodages listés.

TE: trailers, deflate;q=0.5

Un client préfère l’encodage de transfert gzip et accepte également les transferts compress avec une priorité moindre.

TE: gzip, compress;q=0.7

Un client signale uniquement la prise en charge des trailers. C’est la forme standard employée avec les connexions HTTP/2.

TE: trailers