Tutti gli articoli

Punycode: come funzionano i domini internazionalizzati nel DNS

Un dominio come perché.it non esiste nel DNS in questa forma: la «é» finale, come qualsiasi altro accento italiano, va sempre convertita in una stringa xn-- prima che la richiesta raggiunga i server DNS.

Accenti gravi e acuti: una particolarità italiana

L'italiano usa sia l'accento grave (à, è, ì, ò, ù) sia quello acuto (é, talvolta ó), a differenza di lingue come lo spagnolo che si affidano quasi solo alla dieresi sulla "ü" o alla tilde sulla "ñ". Per Punycode questo non cambia nulla dal punto di vista dell'algoritmo — ogni carattere accentato ha comunque un proprio code point Unicode univoco — ma significa che una parola come città o perché genera una codifica diversa a seconda di quale accento, grave o acuto, sia effettivamente presente.

Perché non si è semplicemente passati a UTF-8 nel DNS

Aggiornare il DNS per accettare UTF-8 in modo nativo avrebbe richiesto un aggiornamento sincronizzato di tutti i server dei nomi del pianeta. Punycode evita il problema: solo il browser e il registrar devono comprendere la codifica, mentre l'infrastruttura DNS sottostante continua a vedere solo ASCII.

Casi d'uso comuni

  • Verificare quale dominio reale si nasconde dietro una stringa xn--... ricevuta via email o link.
  • Convertire un dominio con accenti nella sua forma Punycode prima di configurarlo in un pannello DNS che accetta solo ASCII.
  • Diagnosticare certificati o indirizzi email con IDN.

Il rischio degli omoglifi riguarda anche i marchi italiani

La «а» cirillica è indistinguibile dalla «a» latina nella maggior parte dei font, e questo permette di registrare domini come «аpple.com» con una lettera cirillica per imitare un marchio legittimo. Quando un'etichetta mescola alfabeti in modo sospetto, i browser moderni mostrano direttamente la forma xn-- invece di decodificarla, proprio per evitare questo tipo di inganno.

Prova lo strumento