¿Es válido que un nombre de host comience con un dígito? p.ej8server
Al leer RFC 1123 parecería que este es un nombre de host válido. Sin embargo, no tengo claro si un nombre de host solo puede comenzar con un dígito cuando hay un sufijo, por ejemplo8server.com
El origen de esta pregunta es que InternetDomainName.isValid("8server");
en la biblioteca Google Guava ( Javadoc ) rechaza la entrada. También publiqué una pregunta específica en el grupo de discusión de guayaba .
4chan.com
es un nombre de host válido (y bien conocido) que comienza con un número.Respuestas:
RFC 1123 relaja una restricción de RFC 952 que especifica un legado del Protocolo de servidor de nombre de host (descrito en RFC 953 ) reemplazado por DNS. Por lo tanto, un nombre de host totalmente numérico sería válido según estos RFC.
RFC 1123 en sí analiza las consecuencias cuando se trata de análisis de IP versus análisis de nombre de host:
Sin embargo, se proporcionó en las pautas de RFC 1178 para elegir un nombre de host válido debido a problemas de implementación. Muchas de estas implementaciones no reconocen bien los nombres de host numéricos e intentan analizarlos como si fueran IP hasta que contienen al menos un carácter no numérico sin importar la ubicación.
Además, encontrará que las implementaciones no siempre respetan otras restricciones originales de RFC 952, lo que permite, por ejemplo, que el nombre de host finalice con un signo menos o un punto.
DNS conservó estas especificaciones originales para los nombres de host y agregó soporte para guiones bajos ( RFC 2782 ).
Actualización Como se solicitó en los comentarios, aclaración de la oración: Sin embargo, un nombre de host válido nunca puede tener la forma decimal con puntos #. #. #. #, Ya que al menos la etiqueta del componente de nivel más alto será alfabética . Esto significa que el nombre de dominio de nivel superior debe ser alfabético , por lo que el nombre de host completo nunca se puede confundir con una dirección IPv4. RFC 3696 aclaró esta idea para DNS y cambió a no todo numérico . Tenga en cuenta la ligera diferencia.
fuente
Originalmente, el nombre de host no podía comenzar con un dígito o un guión bajo ( RFC 952 ), pero la nueva especificación RFC 1123, como mencionó, lo permite.
Con respecto a la llamada a isValid (), en este caso, el nombre de dominio completo debe pasarse en el parámetro:
InternetDomainName.isValid("8server.com");
fuente
InternetDomainName.isValid("server");
vuelve verdadero.Si. RFC 1123 lo permite claramente y aquí hay un ejemplo:
http://9292.nl/
Es el planificador de rutas para el transporte público holandés.
fuente