Codificatore e decodificatore di URL
Converte in entrambe le direzioni i caratteri accentati e speciali presenti in un URL usando la codifica percentuale. Utile quando si costruiscono richieste API e URL di reindirizzamento.
URL non valido
Consigli
- La lettera «à» codificata in UTF-8 diventa
%C3%A0. - Lo spazio diventa
%20nel percorso di un URL e talvolta+nei parametri di query: è la differenza fra la RFC 3986 e la specifica dei moduli HTML. - Se dovete inserire in un valore di parametro caratteri riservati come
?,&o=, è necessario codificarli. - Torna utile quando inserite caratteri accentati nei parametri di query di un'API REST o quando passate in sicurezza un URL di reindirizzamento.
Domande frequenti
%XX; la decodifica compie l'operazione inversa. Incollando un URL nella barra degli indirizzi il browser lo mostra già decodificato.%20, nei parametri di query dei moduli HTML (application/x-www-form-urlencoded) il +. Se le specifiche dell'API non dicono nulla, %20 è la scelta più sicura.?, &, =, #, + — vanno codificati quando compaiono all'interno del valore di un parametro. Lettere, cifre e i caratteri -, _, ., ~ non richiedono codifica (sono i caratteri non riservati della RFC 3986).
A proposito — la nascita dell'URL e l'alba del World Wide Web
L'URL fu progettato nel 1991 da Tim Berners-Lee, l'inventore del World Wide Web. All'origine erano previsti soltanto caratteri ASCII: per questo le lettere accentate, i caratteri multibyte e i simboli speciali devono essere rappresentati con la codifica percentuale.
La prima pagina web della storia, all'indirizzo http://info.cern.ch/hypertext/WWW/TheProject.html, è tuttora raggiungibile. Esistono poi i «domini emoji» (per esempio 🍕.ws), tecnicamente possibili perché convertiti internamente in Punycode, la notazione che inizia con xn--. In teoria un URL può superare i 2.000 caratteri, ma nella pratica browser e server impongono limiti intorno ai 2.048.
La specifica degli URL è definita dalla RFC 3986, ma la distinzione fra «%20» e «+» per lo spazio resta ancora oggi fonte di confusione. Il %20 appartiene allo standard degli URI, il + al formato application/x-www-form-urlencoded dei moduli HTML: la scelta dipende dal contesto.