bloggers bloggers

Marco Napolitano
Messaggi: 79
Stelle: 0
Data: 17/02/22
Jader Jed Francia
Messaggi: 63
Stelle: 0
Data: 18/02/21
Paolo Gambetti
Messaggi: 2
Stelle: 0
Data: 11/11/19
Katia Pazzi
Messaggi: 1
Stelle: 0
Data: 27/06/19
Ezio Lombardi
Messaggi: 11
Stelle: 0
Data: 10/04/18
Chiara Mambretti
Messaggi: 25
Stelle: 0
Data: 27/02/17
Serena Traversi
Messaggi: 3
Stelle: 0
Data: 21/07/16
Francesco Falanga
Messaggi: 8
Stelle: 0
Data: 14/06/16
Antonio Musarra
Messaggi: 2
Stelle: 0
Data: 18/11/13
Simone Celli Marchi
Messaggi: 6
Stelle: 0
Data: 09/07/13
Indietro

Configurare virtual host per domini con caratteri non-ASCII

Ebbene si, quel giorno è arrivato. Il giorno in cui un cliente ci ha chiesto di gestire un dominio contenente caratteri non-ASCII (nel caso specifico lettere accentate).

Da che mondo è mondo, cioè da quanto esistono i DNS, i nomi di dominio posso contenere solamente caratteri ASCII it.wikipedia.org/wiki/ASCII#Tabella_dei_caratteri, escludendo di fatto non solo tutti gli ideogrammi della lingua araba, cinese, giapponese, ecc. ma più semplicemente anche le nostre e care lettere accentate.

Anni fa qualcuno però ha deciso che questa ingiustizia doveva finire e ha voluto a tutti i costi che venissero accettati anche domini con caratteri non-ASCII. Ma ormai la frittata era fatta, perché tutti i protocolli su cui si basa internet utilizzano codifiche ASCII. Ma questo qualcuno voleva a tutti i costi questi domini internazionali it.wikipedia.org/wiki/Nome_di_dominio_internazionalizzatoperciò ha deciso bene di inventarsi una codifica chiamata Punycode it.wikipedia.org/wiki/Punycode.

Senza entrare nel dettaglio dell'algoritmo di codifica (che secondo me non l'ha capito nemmeno quello che l'ha inventato) basta sapere che punycode non fa altro che "convertire" un dominio non-ASCII in una stringa ASCII. In particolare viene aggiunto al dominio un prefisso xn-- seguito dal nome del dominio al quale vengono sostituiti i caratteri non-ASCII con caratteri ASCII.

Ad esempio, il dominio www.caffè.it viene confertito in www.xn--caff-8oa.it.

I browser recenti (IE a partire dalla versione 6 tramite l'utilizzo di un plugin) sono in grado di gestire la codifica punycode, perciò quando digitate l'URL http://www.caffè.it si occuperanno in maniera totalmente trasprarente per l'utente di convertire la URL in http://www.xn--caff-8oa.it. Perciò il vostro browser farà prima una query al DNS utilizzando www.xn--caff-8oa.it e invierà la richiesta al web server sempre utilizzando l'hostname www.xn--caff-8oa.it.

Detto ciò, come dovrò configurare Apache, Tomcat o qualsiasi altro webserver/application server? Semplicemente utilizzando il dominio nel formato ASCII. Nel nostro caso:

ServerName www.xn--caff-8oa.it

Ora vi starete chidendo: ma come faccio a sapere qual'è l'equivalente ASCII del mio dominio non-ASCII. Beh, io non lo so, ma ci sono molti convertitori online che possono diverlo:

mct.verisign-grs.com/conversiontool/convertServlet

www.charset.org/punycode.php

Precedente
Commenti
Aggiungi Commento
Jader Jed Francia
Questa si potrebbe catalogare allegramente sotto "modo tricky di risolvere un problema non banale"! emoticon
Tradotto: è un bel workaround, se ci pensi, no? emoticon

Ciao, J.
Inviato il 09/07/15 14.02.