De acordo com a União In­ter­na­ci­o­nal de Te­le­co­mu­ni­ca­ções (UIT), mais de três mil milhões de pessoas utilizam atu­al­mente as pos­si­bi­li­da­des ofe­re­ci­das pela rede mundial de com­pu­ta­do­res, ou seja, a World Wide Web (WWW), e é cada vez mais comum que esses uti­li­za­do­res as utilizem na sua própria língua materna. Isto é possível graças aos nomes de domínio in­ter­na­ci­o­na­li­za­dos, co­nhe­ci­dos pela sigla IDN, que estão à dis­po­si­ção dos uti­li­za­do­res da Internet desde 2003. Descubra como funcionam estes IDN.

O que é um nome de domínio in­ter­na­ci­o­na­li­zado (IDN)?

A IETF (Internet En­gi­ne­e­ring Task Force) denomina nomes de domínio in­ter­na­ci­o­na­li­za­dos (IDN) aos nomes de domínio que incluem ca­rac­te­res especiais, como o acento cir­cun­flexo, ca­rac­te­res não incluídos no alfabeto latino básico ou ca­rac­te­res de outros alfabetos. No entanto, o DNS, que se encarrega de traduzir as URL em endereços IP e se baseia num conjunto limitado de ca­rac­te­res ASCII, não é capaz de com­pre­en­der estes nomes de domínio in­ter­na­ci­o­na­li­za­dos.

Para que os IDN sejam com­pre­en­sí­veis tanto para o DNS como para outros pro­to­co­los da Internet, foi criado em 2003 o protocolo**«Nomes de domínio in­ter­na­ci­o­na­li­za­dos em apli­ca­ções»**(IDNA), que es­ta­be­lece uma tradução pa­dro­ni­zada de Unicode para ASCII, graças à qual é possível utilizar ca­rac­te­res não ASCII nos nomes de domínio.

Como funcionam os IDNAs?

Para garantir que os nomes de domínio in­ter­na­ci­o­na­li­za­dos também possam ser uti­li­za­dos pelos inúmeros sistemas na Internet que suportam apenas o conjunto de ca­rac­te­res ASCII, cada IDN em Unicode pode ser traduzido para o formato ACE, que se baseia em ca­rac­te­res ASCII. Desta forma, embora no navegador sejam apre­sen­ta­dos endereços URL com trema, por exemplo, o servidor trans­forma-os de modo a torná-los com­pa­tí­veis com ASCII. Este processo está es­pe­ci­fi­cado tanto na norma da Internet IDNA2003 como na revisão IDNA2008, aprovada em 2010. A conversão de Unicode para ASCII é realizada do lado do cliente (no navegador web, no software de e-mail, por exemplo) com base num pro­ce­di­mento de co­di­fi­ca­ção pa­dro­ni­zado de­no­mi­nado Punycode.

Punycode

O Punycode, pa­dro­ni­zado na RFC 3492, foi de­sen­vol­vido para re­pre­sen­tar sequên­cias Unicode em ca­rac­te­res ASCII de forma clara e sem perdas. Para tal, todos os ca­rac­te­res que não sejam ASCII são removidos do nome de domínio, co­di­fi­ca­dos e anexados separados por um hífen. Esta sequência de códigos contém a in­for­ma­ção sobre o tipo de ca­rac­te­res Unicode em questão, bem como a sua posição no nome de domínio. Além disso, em cada ACE criado, é anteposto o prefixo xn–, que iden­ti­fica ine­qui­vo­ca­mente a sequência de ca­rac­te­res como IDN, co­di­fi­cada de acordo com os pro­to­co­los IDNA e Punycode. No nosso artigo sobre Punycode, pode encontrar mais in­for­ma­ções sobre este pro­ce­di­mento, bem como alguns exemplos.

Dica

Com um conversor de IDN online como o Cy­ber­ne­ti­cos, pode converter IDNs em cadeias ACE uti­li­zando punycode.

Di­fe­ren­ças entre o IDNA2003 e o IDNA2008

Nos seus pri­mór­dios, em 2003, os endereços URL in­ter­na­ci­o­na­li­za­dos eram nor­ma­li­za­dos com o algoritmo Nameprep antes da co­di­fi­ca­ção em Punycode. Para tal, as letras maiús­cu­las eram con­ver­ti­das em mi­nús­cu­las, os ca­rac­te­res de controlo eram eli­mi­na­dos e os ca­rac­te­res equi­va­len­tes eram uni­for­mi­za­dos. Desde o advento da im­ple­men­ta­ção do IDNA2008, o Nameprep já não faz parte do processo de tradução. O IDNA, por sua vez, já não impõe qualquer nor­ma­li­za­ção, embora recomende a uti­li­za­ção de um algoritmo que trans­forme as maiús­cu­las em mi­nús­cu­las.

Para ler uma análise detalhada sobre as di­fe­ren­ças entre o IDNA2003 e o IDNA2008, pode consultar a Norma Técnica Unicode n.º 46. Na tabela seguinte, apre­sen­ta­mos um resumo com as prin­ci­pais di­fe­ren­ças:

IDNA2003 IDNA2008
Nor­ma­li­za­ção com Nameprep Nor­ma­li­za­ção não es­pe­ci­fi­cada
Válido para Unicode 3.2 Válido a partir do Unicode 5.2
Regras rigorosas para tipos de letra de escrita da direita para a esquerda Regras mais claras para tipos de escrita da direita para a esquerda
As maiús­cu­las e mi­nús­cu­las são con­si­de­ra­das ca­rac­te­res separados As maiús­cu­las são con­ver­ti­das di­re­ta­mente em mi­nús­cu­las
Existem símbolos proibidos, por exemplo, símbolos gráficos que não pertencem a nenhum sistema de escrita, bem como alguns sinais de pontuação
Eli­mi­na­ção do re­ma­pe­a­mento de alguns ca­rac­te­res Unicode, uma vez que isso poderia causar ir­re­gu­la­ri­da­des

Problemas com os IDN

Atu­al­mente, todos os programas da Internet deveriam ser capazes de re­co­nhe­cer os IDN. No entanto, uma vez que a conversão de IDNA2003 para IDNA2008 na Internet ainda não foi im­ple­men­tada de forma con­sis­tente, podem surgir problemas com os nomes in­ter­na­ci­o­nais. Além disso, pode acontecer que os uti­li­za­do­res não consigam in­tro­du­zir o caractere especial que compõe o domínio in­ter­na­ci­o­nal e, em vez disso, in­tro­du­zam outro se­me­lhante (o que re­sul­ta­ria numa URL diferente que re­di­re­ci­o­na­ria para uma página web distinta). Por exemplo, um uti­li­za­dor cujo teclado não estivesse con­fi­gu­rado para o espanhol poderia escrever dominio-de-ejemplo-con-n.es em vez de dominio-de-ejemplo-con-ñ.es, o que o levaria a uma página web diferente.

Para evitar este tipo de di­fi­cul­da­des, os ad­mi­nis­tra­do­res de sites podem registar ambas as variantes e re­di­re­ci­o­nar o segundo domínio para a grafia com maior pri­o­ri­dade, uti­li­zando os métodos de re­di­re­ci­o­na­mento de um site.

Ir para o menu principal