IDN: nombres de dominios internacionalizados
De acuerdo con la Unión Internacional de Telecomunicaciones (ITU), más de tres mil millones de personas utilizan hoy en día las posibilidades que brinda la red informática mundial, es decir, la World Wide Web (WWW), y cada vez es más común que estos usuarios hagan uso de ellas en su propia lengua materna. Esto es posible gracias a los nombres de dominio internacionalizados, conocidos como IDN por sus siglas en inglés, que están a disposición de los usuarios de Internet desde 2003. Descubre el funcionamiento de estos IDN.
¿Qué es un nombre de dominio internacionalizado (IDN)?
El IETF (Internet Engineering Task Force) denomina nombres de dominio internacionalizados (IDN) a los nombres de dominio que incluyen caracteres especiales, como diéresis, caracteres no incluidos en el alfabeto latino básico o caracteres de otros alfabetos. Sin embargo, el DNS, que se encarga de traducir las URL en direcciones IP y se basa en un conjunto limitado de caracteres ASCII, no es capaz de entender estos nombres de dominio internacionalizados.
Para que los IDN sean comprensibles tanto para el DNS como para otros protocolos de Internet, en 2003 se creó el protocolo “Nombres de dominio internacionalizados en aplicaciones” (IDNA), en el que se establece una traducción estandarizada de Unicode a ASCII, gracias a lo cual es posible utilizar caracteres no ASCII en los nombres de dominio.
- Domina el mercado con nuestra oferta 3x1 en dominios
- Tu dominio protegido con SSL Wildcard gratis
- 1 cuenta de correo electrónico por contrato
¿Cómo funcionan los IDNA?
Para garantizar que los nombres de dominio internacionalizados también puedan ser utilizados por los numerosos sistemas en Internet que solo soportan el conjunto de caracteres ASCII, cada IDN en Unicode puede traducirse en el formato ACE, que está basado en caracteres ASCII. De esta manera, mientras que en el navegador se mostrarán direcciones URL con diéresis, por ejemplo, el servidor las transforma de forma que sean compatibles con ASCII. Este proceso es especificado tanto en el estándar de Internet IDNA2003 como en la revisión IDNA2008, autorizada en 2010. La traducción de Unicode a ASCII se lleva a cabo por la parte del cliente (en el navegador web, en el software de correo electrónico, por ejemplo) teniendo como base un procedimiento estandarizado de codificación que recibe el nombre de Punycode.
Punycode
El Punycode estandarizado en RFC 3492 fue desarrollado para poder representar secuencias Unicode en caracteres ASCII de manera clara y sin que se produzcan pérdidas. Para ello, todos los caracteres que no sean ASCII se eliminan del nombre de dominio, se codifican y se adjuntan separados por un guion. Esta secuencia de códigos contiene la información sobre el tipo de caracteres Unicode de que se trata, así como de su posición en el nombre del dominio. En cada ACE creado, además, se antepone el prefijo xn–, el cual señala la secuencia de caracteres de manera inequívoca como IDN, codificado de acuerdo con el protocolo IDNA y Punycode. En nuestro artículo sobre Punycode puedes encontrar más información sobre este procedimiento, además de algunos ejemplos.
Con un convertidor de IDN online como Cyberneticos puedes convertir los IDN en cadenas ACE usando punycode.
Diferencias entre IDNA2003 e IDNA2008
En sus comienzos en 2003, las direcciones URL internacionalizadas se normalizaban con el algoritmo Nameprep antes de la codificación en Punycode. Para ello, las mayúsculas se convertían en minúsculas, se eliminaban los caracteres de control y se uniformaban los caracteres equivalentes. Desde la aparición de la implementación IDNA2008, Nameprep ya no forma parte del proceso de traducción. IDNA, por su parte, ya no fija ninguna normalización, aunque sí recomienda la utilización de un algoritmo que transforme las mayúsculas en minúsculas.
Para poder leer un análisis detallado sobre las diferencias entre IDNA2003 e IDNA2008, puedes acceder al Unicode Technical Standard #46. En la siguiente tabla te presentamos un resumen con las principales diferencias:
IDNA2003 | IDNA2008 |
---|---|
Normalización con Nameprep | No se especifica normalización |
Válido para Unicode 3.2 | Válido a partir de Unicode a 5.2 |
Reglas estrictas para tipografías de escritura de derecha a izquierda | Reglas más claras para tipografías de escritura de derecha a izquierda |
Las mayúsculas y minúsculas se consideran como caracteres separados | Las mayúsculas se convierten directamente en minúsculas |
Hay símbolos prohibidos, por ejemplo, símbolos gráficos que no pertenecen a ningún sistema de escritura, así como algunos signos de puntuación | |
Eliminación del remapping de algunos caracteres Unicode, ya que esto podría causar irregularidades |
Problemas con los IDN
En la actualidad todos los programas de Internet deberían poder entender los IDN. Sin embargo, debido a que la conversión de IDNA2003 a IDNA2008 en Internet no ha podido llevarse a cabo aún de un modo consecuente, pueden surgir problemas con los nombres internacionales.
Además, puede darse el caso de que los usuarios no puedan introducir el carácter especial que compone el dominio internacional y, en su lugar, introduzcan otro similar (lo que resultaría en una URL diferente que dirigiría a otra página web distinta). Por ejemplo, un usuario cuyo teclado no estuviera configurado para el español, podría escribir dominio-de-ejemplo-con-n.es
en lugar de dominio-de-ejemplo-con-ñ.es
, lo que lo llevaría a una web diferente.
Para evitar este tipo de dificultades los administradores de páginas web pueden registrar ambas variantes y pueden redirigir el segundo dominio a la grafía que más prioridad tenga por medio de los métodos para redireccionar una página web.