IDN: O que é domínio internacionalizado?

A União Internacional de Telecomunicações (UIT) afirma que mais de três bilhões de pessoas acessam a internet, navegando, na maioria das vezes, em sites de suas línguas nativas. A introdução de domínios internacionalizados, em 2003, contribuiu para o fato. Entenda o que é domínio IDN e como estes endereços funcionam.

O que é domínio internacionalizado (IDN)?

A IETF (Internet Engineering Task Force) define IDNs como nomes de domínio que contêm caracteres especiais, que não fazem parte do alfabeto latino (por exemplo, acentos e letras de outros alfabetos). Contudo, o sistema de nomes de domínio (DNS), responsável por transformar URLs em endereços IP, não é capaz de entender esses caracteres e, portanto, esses domínios. É que o DNS baseia-se no conjunto limitado de caracteres padrão ASCII.

Para que IDNs pudessem ser entendidos pelo DNS e por outros protocolos de internet, o padrão Internationalizing Domain Names in Applications (IDNA) foi criado, em 2003. Seu papel é converter códigos Unicode em ASCII padronizadamente, possibilitando o uso de caracteres não ASCII por domínios.

Registre um nome de domínio

Construa sua própria marca com um grande domínio, que inclui SSL e consultor pessoal!

  • Registro privado
  • Suporte 24 horas
  • E-mail

Como funciona o IDNA?

Grande parte da infraestrutura da internet só oferece suporte ao conjunto de caracteres ASCII. Assim, para possibilitar o processamento de domínios internacionalizados, cada IDN criado em Unicode deve ser transformado em string ACE baseada em ASCII. Dessa forma, URLs compostas de caracteres como acentos e cedilhas podem ser exibidas. O servidor, por sua vez, continua com o processamento de endereços como se estes fossem compatíveis com ASCII. O procedimento é especificado no padrão de internet IDNA2003 e na revisão IDNA2008, aprovada em 2010. A conversão de Unicode em ASCII ocorre no lado do cliente (navegador, programa de e-mail etc.) e se baseia em um processo de codificação padronizado chamado Punycode.

Punycode

O protocolo Punycode, padronizado em RFC 3492, foi desenvolvido para exibir strings de caracteres Unicode como símbolos ASCII, sem perda de qualidade. Ele remove todos os caracteres não ASCII de nomes de domínio, codificando-os e separando-os por hífen. A sequência de códigos gerada conterá informações sobre os símbolos Unicode em questão, bem como suas posições no nome de domínio. Ainda, cada string ACE criada é marcada com o prefixo xn–, para que fique claro a todos que a sequência de caracteres diz respeito a um IDN codificado em conformidade com os padrões IDNA e Punycode. Acesse nosso artigo especializado em Punycode para obter informações detalhadas sobre o processo de codificação, com exemplos.

Dica

Com um conversor on-line de domínios IDN, você consegue converter IDNs em strings ACE, usando o Punycode.

Diferenças entre o IDNA2003 e o IDNA2008

No procedimento original de 2003, antes do Punycode ser inventado, URLs internacionalizadas eram nomeadas pelo método nameprep, que transformava letras maiúsculas em minúsculas, removia caracteres de controle e transferia caracteres equivalentes a uma forma unificada. Contudo, onameprep foi removido do procedimento com a introdução do IDNA2008, que não especifica nenhum tipo de normalização. Ele apenas recomenda um algoritmo de conversão de letras maiúsculas em minúsculas.

A revisão abrange línguas como a alemã, que faz uso do caractere Unicode “ß” (Eszett). Originalmente, no IDNA2003, o Eszett ganhava equivalência ao “ss”. Assim, domínios como fußball.com (futebol.com) eram automaticamente normalizados para fussball.com pelo processo nameprep. O mesmo deixou de ocorrer com o lançamento do IDNA2008. Desde 2010, o “ß” é interpretado como tal, uma “letra latina minúscula, correspondente aos dois ‘s’”, e pode ser registrado como parte de um domínio IDN.

Cerca de 8 mil caracteres que podiam ser usados em nomes de domínio, de acordo com o IDNA2003, deixaram de encontrar suporte no IDNA2008. Ainda, quatro caracteres (entre eles o “ß”) ganharam interpretações diferentes desde que o padrão foi revisado. Consulte o Padrão Técnico Unicode #46 para acompanhar uma detalhada discussão sobre as diferenças entre o IDNA2003 e o IDNA2008. A tabela abaixo resume os principais pontos:

IDNA2003 IDNA2008
Procedimento nameprep obrigatório Sem normalização específica
Válido para Unicode 3.2 Válido para Unicode versão 5.2 ou posterior
Regras rigorosas para fontes da direita para a esquerda Regras mais claras para fontes da direita para a esquerda
Distingue letras maiúsculas e minúsculas, que são consideradas caracteres diferentes Letras maiúsculas são convertidas em minúsculas
Vários símbolos são proibidos, incluindo símbolos gráficos que não pertencem a nenhum alfabeto e alguns sinais de pontuação
“Remapeamento” removido de alguns caracteres Unicode, por risco de irregularidades

Principais desafios de IDNs

Atualmente, a maior parte dos programas de internet consegue compreender IDN. No entanto, domínios internacionalizados ainda enfrentam dificuldades, pois a mudança do IDNA2003 para o IDNA2008 ainda não foi totalmente implementada. Voltando ao caso alemão, o Eszett é interpretado de diferentes maneiras no mundo on-line. Já que o IDNA2003 converte “ß” em “ss” automaticamente, domínios internacionalizados contendo “ß” (registrados de acordo com o IDNA2008) muitas vezes não podem ser descobertos por sistemas que ainda realizam conversões de acordo com o padrão antigo. Assim, usuários continuam sendo redirecionados a domínios contendo “ss”. O problema pode ser contornado da seguinte forma: registrando ambas as variantes e redirecionando o domínio secundário ao domínio com a ortografia de preferência. Isso pode ser feito por redirecionamento de domínio.

Este artigo foi útil?
Para melhorar a sua experiência, este site usa cookies. Ao acessar o nosso site, você concorda com nosso uso de cookies. Mais informações
Page top