Les noms d'hôtes sont gérés par DNS (ou toute autre résolution de nom comme un fichier hôte). Les serveurs web écoutent sur des IPs/Sockets, mais lorsqu'ils exécutent des hôtes virtuels, ils examinent également l'en-tête de la requête pour savoir quel FQDN a été utilisé pour demander la page.
Lorsqu'un serveur web exécutant des hôtes virtuels répond à une requête, il regarde l'en-tête de la requête pour voir si la requête provient d'un hôte qu'il connaît, puis renvoie la page correcte. Par exemple, si j'ai un serveur avec un hôte virtuel pour initech.xyz, DNS le pointera vers l'IP de mon serveur web, qui écoute sur les ports http/s par défaut (80/443). En fonction de la configuration, vous pouvez activer/désactiver différents ports auxquels chaque hôte virtuel répond, mais d'un point de vue IP/port, si le port est activé, il est ouvert.
Aussi, DNS peut avoir plusieurs IPs résolvant le même nom, et vice versa.