Encoder URL
Codifica e decodifica URL
Come usare Encoder URL
Codifica e decodifica URL Strumento gratuito online, senza registrazione, senza pubblicità invasiva. Usalo ora.
A cosa serve la codifica URL?
Gli URL possono contenere solo un insieme limitato di caratteri ASCII. I caratteri speciali — spazi, lettere accentate, punteggiatura e caratteri non-ASCII — devono essere codificati come sequenze percentuale (%XX) per essere trasmessi in modo sicuro in un URL. Questo è particolarmente rilevante per l'italiano con le sue numerose lettere accentate.
- Parametri di query: Passare l'input dell'utente come parametri URL richiede la codifica. Una ricerca di "caffè a Milano" diventa
caff%C3%A8%20a%20Milanonell'URL — i caratteri speciali vengono sostituiti dalla loro rappresentazione UTF-8 in esadecimale. - Richieste API: Costruire URL API programmaticamente — codificare i parametri prima di aggiungerli all'URL base evita le richieste malformate e le vulnerabilità di sicurezza come l'iniezione di parametri.
- Invio di moduli: I moduli HTML con method="GET" codificano i dati del modulo nell'URL. Capire questa codifica aiuta nel debug dell'invio dei moduli e nel ricostruire i valori originali analizzando i log del server.
- Condivisione di link: Condividere URL che contengono lettere italiane accentate (é, è, à, ì, ò, ù) — molte piattaforme le corrompono senza la codifica corretta, specialmente quando si copia e incolla tra sistemi diversi.
- Debug: Decodificate un URL codificato per leggere i parametri originali — utile nell'ispezione delle richieste di rete negli strumenti DevTools del browser o nei log del server web.
Regole di codifica: Le lettere (A-Z, a-z), le cifre (0-9) e i caratteri -_.~ non vengono mai codificati. Tutto il resto viene codificato come % seguito da due cifre esadecimali che rappresentano i valori dei byte UTF-8 del carattere.
Frequently Asked Questions
Qual è la differenza tra encodeURI e encodeURIComponent in JavaScript?
encodeURI codifica un URL completo — lascia i caratteri strutturali dell'URL (/, ?, &, #, :) non codificati perché hanno un significato nell'URL. encodeURIComponent codifica tutto tranne lettere, cifre e -_.~* — si usa per i singoli valori dei parametri. Usate sempre encodeURIComponent per i valori dei parametri di query.
Qual è la differenza tra + e %20 per gli spazi?
Entrambi rappresentano uno spazio nella codifica URL, ma in contesti diversi. %20 è corretto per tutti i componenti URL. Il segno più rappresenta uno spazio solo in application/x-www-form-urlencoded (dati del modulo HTML) — non nei segmenti di percorso.
Perché la doppia decodifica causa problemi?
Se %252F appare in un URL, codifica %2F (che a sua volta codifica /). Decodificare una volta dà %2F. Decodificare due volte dà /. La doppia codifica si verifica quando un valore viene codificato e poi l'intero URL viene codificato di nuovo. Questo causa problemi di sicurezza (attacchi di path traversal) quando i server decodificano gli URL più volte.
Quali caratteri devono essere codificati in un segmento di percorso URL?
I caratteri riservati con significato speciale devono essere codificati nei segmenti di percorso: spazio (%20), # (%23), % (%25), ? (%3F) e altri. La barra / è il separatore di percorso — per una barra letterale in un segmento di percorso, codificatela come %2F.
Cos'è Punycode e come si rapporta alla codifica URL?
Punycode converte i nomi di dominio internazionalizzati (IDN) con caratteri non-ASCII in codifica compatibile con ASCII. 'università.it' verrebbe convertito usando Punycode per la parte del dominio. È diverso dalla codifica percentuale — si applica specificamente ai nomi di dominio, non ai percorsi o ai parametri.
Codifica URL vs Base64 vs entità HTML
La codifica URL (codifica percentuale) rende i dati sicuri per gli URL. La codifica Base64 rende i dati binari sicuri per i contesti di testo (email, JSON). Le entità HTML rendono i caratteri speciali sicuri per l'HTML: & diventa &, < diventa <. Ognuno risolve lo stesso problema — rappresentare dati in un set di caratteri limitato — ma per diversi contesti di destinazione. Usare la codifica sbagliata per il contesto causa errori di visualizzazione o vulnerabilità di sicurezza.