# 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.

## 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](https://tools.ietf.org/html/rfc3492 "Especificações do Punycode — 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](https://www.ionos.com/pt-br/digitalguide/dominios/administracao-de-dominios/punycode/ "Punycode") para obter informações detalhadas sobre o processo de codificação, com exemplos.

Dica Com um [conversor on-line de domínios IDN](https://www.punycoder.com/ "Punycoder: Conversor Punycode"), 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, o*nameprep* 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](http://unicode.org/reports/tr46/ "Padrão Técnico Unicode #46 — unicode.org") para acompanhar uma detalhada discussão sobre as diferenças entre o IDNA2003 e o IDNA2008. A tabela abaixo resume os principais pontos:

<table>
  <thead>
    <tr>
      <th><strong>IDNA2003</strong></th>
      <th><strong>IDNA2008</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Procedimento *nameprep* obrigatório</td>
      <td>Sem normalização específica</td>
    </tr>
    <tr>
      <td>Válido para Unicode 3.2</td>
      <td>Válido para Unicode versão 5.2 ou posterior</td>
    </tr>
    <tr>
      <td>Regras rigorosas para fontes da direita para a esquerda</td>
      <td>Regras mais claras para fontes da direita para a esquerda</td>
    </tr>
    <tr>
      <td>Distingue letras maiúsculas e minúsculas, que são consideradas caracteres diferentes</td>
      <td>Letras maiúsculas são convertidas em minúsculas</td>
    </tr>
    <tr>
      <td></td>
      <td>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</td>
    </tr>
    <tr>
      <td></td>
      <td>“Remapeamento” removido de alguns caracteres Unicode, por risco de irregularidades</td>
    </tr>
  </tbody>
</table>

## 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](https://www.ionos.com/pt-br/digitalguide/dominios/administracao-de-dominios/conceitos-basicos-sobre-redirecionamento-de-url/ "Conceitos básicos sobre redirecionamento de domínio").


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/dominios/administracao-de-dominios/idn-dominio-internacionalizado/](https://www.ionos.com/pt-br/digitalguide/dominios/administracao-de-dominios/idn-dominio-internacionalizado/) for AI/LLM consumption.