2011-10-05 12 views
12

Algunas personas responderán que los nombres de dominio no distinguen entre mayúsculas y minúsculas. En el nuevo mundo Unicode esto ya no es cierto.¿Los nombres de dominio de IDN distinguen entre mayúsculas y minúsculas?

(Source)

pensé que uno de los pasos de la conversión Unicode> Punycode era una "normalización", que rindió nombres de dominio minúsculas.

+0

Ver especificaciones oficiales (IETF RFC 4343): [Clarificación de insensibilidad de mayúsculas en el sistema de nombres de dominio (DNS)] (http://tools.ietf.org/html/rfc4343) –

Respuesta

12

Para la antigua ASCII -basada en domain names, Sí, los nombres de dominio han sido y siguen siendo insensibles a las mayúsculas y minúsculas.

Por ejemplo, todos ellos representan el mismo dominio:

  • example.com
  • Example.com
  • EXAMPLE.COM
  • EXampLE.com

En la moderna DNS, ahora tenemos Internationalized Domain Names (IDN) que permite caracteres Unicode. El problema es que definir mayúsculas y minúsculas puede ser complicado en algunos idiomas y juegos de caracteres más allá de ASCII (Unicode es un superconjunto de US-ASCII).

La intención de los nombres de dominio es no distinguir entre mayúsculas y minúsculas, pero puede haber complicaciones con caracteres particulares en guiones particulares de idiomas humanos particulares. Entonces, no hay una respuesta simple SÍ o NO a su pregunta.

Si el uso de nombres de dominio no ASCII, debe leer:

-1

Las URL siguen siendo insensibles a las mayúsculas y minúsculas, incluso para IDN.

+1

Véase RFC 3987 "Identificadores de recursos internacionalizados (IRI)". Son sensibles a las mayúsculas y minúsculas, pero según un esquema específico PUEDEN ser insensibles a mayúsculas y minúsculas. La parte de dominio de IRI no distingue entre mayúsculas y minúsculas, pero no otras partes, como rutas y nombres de archivo. – davispuh

+0

La pregunta es sobre IDN, no IRI. Un nombre de dominio es solo parte del IRI. Verifique RFC 3490. toASCII llama a nameprep (RFC 3491) que se refiere a stringprep (RFC 3454). La Sección 3.2 "Plegado de casos" especifica la tabla plegable exacta (CaseFolding.txt) y la versión Unicode (3.2). De modo que no solo es insensible a mayúsculas y minúsculas, sino que se especifica la tabla de conversión de casos exacta. –

+0

Por lo tanto, la respuesta aprobada no es precisa al decir que "definir mayúsculas y minúsculas puede ser complicado en idiomas y conjuntos de caracteres fuera de ASCII". Es Unicode y se especifica la versión exacta. Ningún otro juego de caracteres. Incluso el artículo de Wikipedia recomendado por la "respuesta" dice "aplicar el algoritmo Nameprep, que convierte la etiqueta a minúscula y realiza otra normalización". Entonces, por favor, antes de votar, hagan la tarea. –

Cuestiones relacionadas