Saltar al contenido

¿Pueden los subdominios (nombre de dominio) tener un guión bajo “_”?

Este team redactor ha estado largas horas investigando para dar solución a tu búsqueda, te regalamos la solución por eso deseamos resultarte de mucha ayuda.

Solución:

La mayoría de las respuestas dadas aquí son false. Es perfectamente legal tener un guión bajo en un nombre de dominio. Permítanme citar el estándar, RFC 2181, sección 11, “Sintaxis de nombres”:

El propio DNS impone solo una restricción en las etiquetas particulares que se pueden usar para identificar registros de recursos. Esa única restricción se relaciona con la longitud de la etiqueta y el nombre completo. […] Las implementaciones de los protocolos DNS no deben imponer restricciones a las etiquetas que se pueden utilizar. En particular, los servidores DNS no deben negarse a servir una zona porque contiene etiquetas que pueden no ser aceptables para algunos programas de clientes DNS.

Consulte también la especificación DNS original, RFC 1034, sección 3.5 “Sintaxis de nombre preferida”, pero léala detenidamente.

Los dominios con guiones bajos son muy comunes en la naturaleza. Controlar _jabber._tcp.gmail.com o _sip._udp.apnic.net.

Otros RFC mencionados aquí se ocupan de diferentes cosas. La pregunta original era para nombres de dominio. Si la pregunta es para nombres de host (o para URL, que incluyen un nombre de host), entonces esto es diferente, el estándar relevante es RFC 1123, sección 2.1 “Nombres y números de host” que limita nombres de host a letras-dígitos-guión.

Una nota sobre terminología, en apoyo a la respuesta de Bortzmeyer

Uno debe ser claro acerca de las definiciones. Como se usa aquí:

  • nombre de dominio es el identificador de un recurso en una base de datos DNS
  • etiqueta es la parte de un nombre de dominio entre puntos
  • nombre de host es un tipo especial de nombre de dominio que identifica hosts de Internet

los nombre de host está sujeto a las restricciones de RFC 952 y la ligera relajación de RFC 1123

RFC 2181 deja en claro que existe una diferencia entre un nombre de dominio y un nombre de host:

…[the fact that] cualquier etiqueta binaria puede tener un registro MX no implica que cualquier nombre binario pueda usarse como parte del host de una dirección de correo electrónico…

Entonces subraya en nombres de host son un no-no, guiones bajos en nombres de dominio están bien.

En la práctica, uno bien puede ver nombres de host con guiones bajos. Como dice el Principio de Robustez: “Sé conservador en lo que envías, liberal en lo que aceptas”.

Una nota sobre la codificación

En el siglo XXI, resulta que nombres de host así como también nombres de dominio puede ser internacionalizado! Esto significa recurrir a codificaciones en caso de etiquetas que contienen caracteres que están fuera del conjunto permitido.

En particular, permite codificar la _ en nombres de host (Actualización 2017-07: Esto es dudoso, ver comentarios. El _ todavía no se puede utilizar en nombres de host. De hecho, ni siquiera se puede utilizar en etiquetas internacionalizadas).

El primer RFC para la internacionalización fue el RFC 3490 de marzo de 2003, “Internationalizing Domain Names in Applications (IDNA)”. Hoy tenemos:

  • RFC 5890 “IDNA: Definiciones y marco del documento”
  • RFC 5891 “IDNA: Protocolo”
  • RFC 5892 “Los puntos de código Unicode e IDNA”
  • RFC 5893 “Scripts de derecha a izquierda para IDNA”
  • RFC 5894 “IDNA: antecedentes, explicación y justificación”
  • RFC 5895 “Asignación de caracteres para IDNA 2008”

También puede consultar la entrada de Wikipedia

RFC 5890 introduce el término etiqueta LDH (Letter-Digit-Hypen) para etiquetas utilizada en nombres de host y dice:

Esta es la forma de etiqueta clásica utilizada, aunque con algunas restricciones adicionales, en los nombres de host (RFC 952). Su sintaxis es idéntica a la descrita como la “sintaxis de nombre preferida” en la Sección 3.5 de RFC 1034 modificada por RFC 1123. Brevemente, es una string que consta de letras ASCII, dígitos y el guión con la restricción adicional de que el guión no puede aparecer al principio o al final del string. Como todas las etiquetas DNS, su longitud total no debe exceder los 63 octetos.

Volviendo a tiempos más simples, este borrador de Internet es una propuesta temprana para nombre de host internacionalización. Los nombres de host con caracteres internacionales se pueden codificar mediante, por ejemplo, la codificación ‘RACE’.

El autor de la propuesta de ‘codificación RACE’ señala:

De acuerdo con RFC 1035, las partes del host no deben distinguir entre mayúsculas y minúsculas, comenzar y terminar con una letra o un dígito, y contener solo letras, dígitos y el carácter de guión (“-“). Esto, por supuesto, excluye cualquier carácter internacionalizado, así como muchos otros caracteres del repertorio de caracteres ASCII. Además, las partes del nombre de dominio deben tener una longitud de 63 octetos o menos…. Todas las partes del nombre convertidas posteriormente que contienen caracteres internacionalizados comienzan con el string “bq–“. (…) Los string Se eligió “bq–” porque es extremadamente improbable que exista en partes anfitrionas antes de que se produjera esta especificación.

Hay una cosa adicional que quizás deba saber: si la parte del host o el subdominio de la URL contiene un guión bajo, IE9 (no ha probado otras versiones) no puede escribir cookies.

Así que ten cuidado con eso. 🙂

Si para ti ha resultado provechoso este post, nos gustaría que lo compartas con más programadores y nos ayudes a difundir nuestra información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *