Outre le routage du trafic, pourquoi les serveurs doivent-ils être configurés avec le nom du serveur?
Cela semble être un gaspillage dans tous les cas, sauf pour l'acheminement ou l'hébergement d'un TLD.
Exemple Nginx:
server {
listen 80;
server_name myexample.com
...
}
Apache donne également un avertissement Could not reliably determine the server's fully qualified domain name
si vous ne définissez pas le nom du serveur.
La raison principale en est que: les requêtes HTTP incluent le nom de domaine. Vous pourriez avoir stackoverflow.com et askubuntu.com tous desservis par la même machine frontale. Lorsque le serveur reçoit une demande, il doit savoir quel contenu il doit envoyer. C'est la raison principale pour laquelle la configuration du serveur parle du nom d'hôte.
Pourquoi devez-vous le définir si vous ne servez qu'un seul domaine? Il n'y a aucune raison forte, c'est juste une décision d'implémentation dans nginx. D'autres serveurs Web peuvent simplement répondre par défaut à tous les noms d'hôte, tels que Python HttpServer.
Une raison secondaire est que le nom d’hôte peut être utilisé dans les pages d’erreur et nous aimerions qu’il soit exemple.com et non f1234.googlecloud.com.
Pardon. Mais y'all ont manqué le point. Je me suis dit que j'avais peut-être insulté la phrase précédente, qui n'était pas ce que je voulais. J'ajoute donc ceci: j'aime vos réponses. Ils sont corrects Mais ils ont manqué des informations historiques et générales concernant le fait d'avoir un nom d'hôte et pas nécessairement d'avoir un nom de domaine. C'est ce que j'essaie de dire ici, mais pas aussi bien que je le voudrais.
Définir un nom d’hôte pour un serveur et comme le dit la question, pour un serveur Web, c’est simplement pour savoir, au minimum, quels paquets le serveur doit accepter et auxquels il doit répondre. Ne confondez pas la notion selon laquelle un nom d'hôte sert uniquement à des fins pratiques et que l'adresse IP est le seul paramètre réseau important. Pas du tout. Les en-têtes de paquets peuvent être adressés avec un nom d'hôte ou un nom de domaine s'ils sont basés sur Internet, bien plus souvent que jamais, voire exclusivement.
Lorsqu'un paquet de requête est créé, c'est souvent le nom d'hôte ou le nom de domaine qui est placé dans l'en-tête du paquet. Les informations d'adresse et de routage sont déterminées en secondaire par une autre couche du réseau et peuvent changer même en cours de route, tandis que le nom d'hôte ou le nom de domaine reste toujours identique, à l'exception d'une réécriture d'en-tête via un proxy.
Bien qu’il puisse sembler trivial d’ajouter un nom d’hôte et donc sans importance, il est d’une importance capitale pour la mise en réseau et le routage. C'est pourquoi il existe des diffusions sur les réseaux pour déterminer quels noms d'hôte ont quelles adresses IP et adresses MAC et comment acheminer toute demande au bon endroit. Encore une fois, un paquet est probablement adressé par nom d'hôte au minimum. Votre routeur peut maintenant diriger ce paquet de demande et votre ordinateur, qui sait alors que ce paquet doit être accepté et auquel il doit répondre.
Là encore, le nom d'hôte est un adressage statique, tandis que l'adresse IP est, en termes de routage du réseau, un adressage dynamique. Même lorsqu'une adresse IP est attribuée de manière statique, en termes de conception de réseau, il s'agit toujours d'une entité dynamique. Il peut être changé à tout moment.
Je sais que certains se disputeront avec mon postulat, mais je vois souvent le concept inversé comme il semble être ici. Je parle de routage réseau 101. Les noms d'hôte transcendent tous les protocoles, contrairement aux adresses IP. Cela signifie que quel que soit le protocole réseau utilisé, le nom d'hôte reste le mécanisme d'adressage le plus important. Il se trouve que TCP/IP autorise l’adressage IP lors de la création de paquets. Je ne suis pas sûr qu'un tel mécanisme existe dans d'autres protocoles. Je ne m'en souviens pas.