Via: |
A partir de |
---|---|
HTTP | Entêtes |
Syntaxe
Via: [protocol-name/]protocol-version host[:port] |
Via: [protocol-name/]protocol-version pseudonym |
Paramètres
Nom | Description |
---|---|
protocol-name | Ce paramètre optionnel permet d'indiquer le nom du protocole utilisé, tel que «HTTP». |
protocol-version | Ce paramètre permet d'indiquer la version du protocole utilisée, telle que «1.1». |
host | Ce paramètre permet d'indiquer le nom de l'hôte. |
port | Ce paramètre permet d'indiquer le numéro du port, comme par exemple 80. |
pseudonym | Ce paramètre permet d'indiquer le nom ou l'alias d'un proxy interne. |
Description
Ce champ d'entête permet d'indiquer un ajout par un proxy, à la fois des transferts et proxy, et peut apparaître dans les entêtes de requête et les entêtes de réponse.
Remarques
- Le champ d'entête Via: indique la présence de protocoles intermédiaires et de destinataires entre l'agent utilisateur et le serveur (sur la requête) ou entre le serveur d'origine et le client (sur les réponses), similaire au champ d'entête Received: dans le courriel. Le champ d'entête Via: peut être utilisé pour suivre les messages en avant, éviter les boucles de requête et identifiant les capacités de protocole des expéditeurs le long de la chaîne de caractères de requête et de réponse.
- Plusieurs valeurs de champ Via: représentent chaque proxy ou passerelle ayant transmis le message. Chaque intermédiaire ajoute ses propres informations sur la façon dont le message a été reçu, de telle sorte que le résultat final est ordonné en fonction de la séquence des destinataires de transfert.
- Un proxy doit envoyer un champ d'entête Via: approprié, dans chaque message qu'il transmet. Une passerelle HTTP-to-HTTP doit envoyer un champ d'entête Via: approprié dans chaque message de demande entrante et peut envoyer un champ d'entête Via: dans les messages de réponse transmis.
- Pour chaque intermédiaire, le protocole reçu indique le protocole et la version du protocole utilisés par l'expéditeur en amont du message. Par conséquent, la valeur du champ Via: enregistre les capacités de protocole annoncées de la chaîne de caractères de requête et de réponse de telle sorte qu'elles restent visibles pour les destinataires en aval; cette situation peut être utile pour déterminer quelles fonctionnalités incompatibles en amont peuvent être utilisées en toute sécurité en réponse, ou dans une demande ultérieure. Par souci de concision, le nom du protocole est omis lorsque le protocole reçu est HTTP.
- La partie received-by de la valeur de champ est normalement l'hôte et le numéro de port facultatif d'un serveur ou client destinataire ayant ensuite transmis le message. Cependant, si l'hôte réel est considéré comme une information sensible, un expéditeur peut la remplacer par un pseudonyme. Si aucun port n'est fourni, un destinataire peut interpréter cela comme signifiant qu'il a été reçu sur le port TCP par défaut, le cas échéant, pour le protocole reçu.
- Un expéditeur peut générer des commentaires dans le champ d'entête Via: pour identifier le logiciel de chaque destinataire, de manière analogue aux champs d'entête User-Agent: et Server:. Cependant, tous les commentaires dans le champ Via: sont facultatifs, et un destinataire peut les supprimer avant de transmettre le message.
- Un intermédiaire utilisé comme portail à partir d'un pare-feu réseau ne devrait pas transmettre les noms et les ports d'hôtes dans la région du pare-feu à moins qu'il ne soit explicitement activé pour le faire. S'il n'est pas activé, un tel intermédiaire devrait remplacer chaque hôte reçu par tout hôte derrière le pare-feu par un pseudonyme approprié pour cet hôte.
Exemple
L'exemple suivant permet d'indiquer un protocole HTTP version 1.1 :
Via: HTTP/1.1 www.gladir.com
Dernière mise à jour : Vendredi, le 10 janvier 2020