54 votes

Est-il possible qu'un nom d'hôte commence par un chiffre ?

Est-il possible qu'un nom d'hôte commence par un chiffre ? 8server

De la lecture RFC 1123 il semblerait qu'il s'agisse d'un nom d'hôte valide. Cependant, je ne sais pas si un nom d'hôte ne peut commencer par un chiffre que lorsqu'il y a un suffixe, par ex. 8server.com

L'origine de cette question est la suivante InternetDomainName.isValid("8server"); dans la bibliothèque Google Guava ( Javadoc ) rejette l'entrée. J'ai également posé une question spécifique sur le site Discussion sur la goyave groupe.

39voto

berto Points 221

Le RFC 1123 assouplit une contrainte du RFC 952 qui spécifie un héritage de la norme Protocole du serveur de noms d'hôtes (décrite dans RFC 953 ) remplacé par DNS. Un nom d'hôte entièrement numérique serait donc valide selon ces RFC.

La RFC 1123 elle-même discute des conséquences de l'analyse de l'IP par rapport à celle du nom d'hôte :

Si un nombre décimal en pointillés peut être saisi sans ce type d'information, il est possible d'utiliser le système d'information de la Commission. délimiteurs d'identification, il faut procéder à une vérification syntaxique complète car un segment de le nom de domaine de l'hôte est désormais autorisé de commencer par un chiffre et pourrait légalement être entièrement numérique. (voir section 6.1.2.4). Cependant, un nom d'hôte valide ne peut jamais avoir la forme décimale pointée #.#.#.#, puisqu'au moins l'étiquette du l'étiquette du composant de plus haut niveau sera alphabétique.

Toutefois, il a été fourni en RFC 1178 de choisir un nom d'hôte valide en raison de problèmes d'implémentation. Beaucoup de ces implémentations ne reconnaissent pas bien les noms d'hôtes numériques et essaient de les analyser comme s'il s'agissait d'IP jusqu'à ce qu'ils contiennent au moins un caractère non numérique, quel que soit l'endroit où ils se trouvent.

Vous constaterez également que les implémentations ne respectent pas toujours d'autres contraintes originales de la RFC 952, permettant par exemple au nom d'hôte de se terminer par un signe moins ou un point.

Le DNS a conservé ces spécifications d'origine pour les noms d'hôtes et a ajouté la prise en charge des caractères de soulignement ( RFC 2782 ).

更新 Comme demandé dans les commentaires, clarification de la phrase : Toutefois, un nom d'hôte valide ne peut jamais avoir la forme décimale pointée #.#.#.#, puisqu'au moins l'étiquette du composant de plus haut niveau sera alphabétique. . Cela signifie que le nom de domaine de premier niveau doit être alphabétique Le nom d'hôte pleinement qualifié ne peut donc jamais être confondu avec une adresse IPv4. Cette idée a été clarifiée par RFC 3696 pour DNS et a changé pour pas entièrement numérique . Notez la légère différence.

15voto

Céline Aussourd Points 590

À l'origine, le nom d'hôte ne pouvait pas commencer par un chiffre ou un trait de soulignement ( RFC 952 ), mais la nouvelle spécification RFC 1123, comme vous l'avez mentionné, le permet.

En ce qui concerne l'appel à isValid(), dans ce cas, le nom de domaine complet doit être passé en paramètre : InternetDomainName.isValid("8server.com");

9voto

Oui. La RFC 1123 l'autorise clairement et en donne un exemple :

http://9292.nl/

Il s'agit du planificateur d'itinéraires pour les transports publics néerlandais.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X