Syntaxe
Paramètres
Nom |
Description |
host |
Ce paramètre permet d'indiquer l'hôte, lequel est normalement le nom de domaine du serveur et principalement dédié à l'hébergement virtuel. |
port |
Ce paramètre permet d'indiquer le port utilisé par le serveur pour écouter la communication, soit généralement le port 80 pour le HTTP et le port 443 pour le HTTPS. |
Description
Ce champ d'entête permet d'indiquer le nom de domaine du serveur Web, et le numéro du port TCP sur lequel le serveur Web écoute la transmission.
Remarques
- Le champ d'entête Host: dans une requête fournit les informations d'hôte et de port de l'URI cible, permettant au serveur d'origine de distinguer les ressources tout en répondant
aux requêtes de plusieurs noms d'hôte sur une seule adresse IP.
- Un client doit envoyer un champ d'entête Host: dans tous les messages de requête HTTP/1.1. Si l'URI cible comprend une composante d'autorité, un client doit alors envoyer
une valeur de champ pour l'hôte identique à cette composante d'autorité, à l'exclusion de tout sous-composante userinfo et de son délimiteur «@». Si la composante d'autorité est manquante ou
non défini pour l'URI cible, un client doit alors envoyer un champ d'entête Host: avec une valeur de champ vide.
- Étant donné que la valeur de champ Host: est une information critique pour le traitement d'une requête, un agent utilisateur devrait générer Host: comme premier champ d'entête
suivant la ligne de la requête.
- Un client doit envoyer un champ d'entête Host: dans une requête HTTP/1.1 même si la cible de la requête est au format absolu, car cette situation permet aux informations Host:
d'être transmises via d'anciens HTTP/1.0 de proxy n'ayant peut-être pas mise en oeuvre Host:.
- Lorsqu'un proxy reçoit une requête avec une forme absolue de requête-cible, le proxy doit ignorer le champ d'entête Host: reçu (le cas échéant) et le remplacer à la place
par les informations d'hôte de la requête-cible. Un proxy transmettant une telle demande doit générer une nouvelle valeur de champ hôte sur la base de la cible de requête reçue plutôt que
de transmettre la valeur de champ hôte reçue.
- Étant donné que le champ d'entête Host: agit comme un mécanisme de routage au niveau de l'application, il s'agit d'une cible fréquente pour les logiciels malveillants cherchant à
empoisonner un cache partagé ou à rediriger une demande vers un serveur non intentionnel. Un proxy d'interception est particulièrement vulnérable s'il s'appuie sur la valeur de champ
d'entête Host: pour rediriger les demandes vers des serveurs internes, ou pour être utilisé comme clef de cache dans un cache partagé, sans vérifier d'abord que la connexion interceptée
cible une adresse IP valide pour cet hôte.
- Un serveur doit répondre avec un code d'état 400 Bad Request à tout message de requête HTTP/1.1 ne contenant pas de champ d'entête d'hôte et à tout message de requête contenant
plus d'un champ d'entête d'hôte ou un champ d'entête d'hôte avec une valeur de champ non valide.
Dernière mise à jour : Vendredi, le 10 janvier 2020