Percent-encoding: rendere gli URL sicuri
Gli URL (Uniform Resource Locator) possono contenere solo un sottoinsieme di caratteri ASCII. Caratteri come spazi, &, =, #, ? e tutti i caratteri Unicode (lettere accentate, ideogrammi, emoji) non possono apparire direttamente in un URL perché hanno significati speciali o non sono supportati. Il percent-encoding (definito nella RFC 3986) risolve questo problema sostituendo ogni carattere non sicuro con % seguito dal suo codice esadecimale: lo spazio diventa %20, & diventa %26, é diventa %C3%A9.
Il nostro URL Encode/Decode gestisce la codifica e la decodifica in entrambe le direzioni, supportando correttamente UTF-8, la doppia codifica, e le differenze tra codifica di path e query string. È uno strumento essenziale per gli sviluppatori web che lavorano con API, parametri di ricerca, e qualsiasi scenario in cui i dati dell'utente finiscono in un URL.
Quando e cosa codificare
La regola fondamentale: codifica i valori, non la struttura dell'URL. I caratteri che compongono la struttura (://?&=#) non vanno codificati quando fungono da delimitatori. Vanno codificati solo quando appaiono nei dati. Ad esempio, se il parametro di ricerca è "a=b", la & nell'URL è un delimitatore (non codificato), ma la = nel valore deve essere codificata: ?search=a%3Db. Errori nella codifica sono tra i bug più comuni nelle applicazioni web.
Sicurezza e URL encoding
La codifica URL è fondamentale per la sicurezza web. L'injection di parametri URL è un vettore di attacco: un input non codificato può modificare la struttura dell'URL, aggiungere parametri non previsti, o causare comportamenti inattesi. Tutti i framework web moderni codificano automaticamente i parametri URL, ma quando costruisci URL manualmente (in API client, script, redirect), la codifica corretta è responsabilità dello sviluppatore.
Per altri tipi di codifica usati nello sviluppo web, il nostro Base64 Encode/Decode gestisce la codifica binario-testo per JWT, data URI e allegati email. Per la validazione di pattern nei dati, il Regex Tester permette di testare espressioni regolari in tempo reale. E per la sicurezza delle connessioni su cui viaggiano questi URL, verifica sempre che il tuo sito usi HTTPS con SSL Check — i parametri URL sono visibili nel traffico HTTP non crittografato.
Un caso insidioso è la doppia codifica: quando un dato già codificato viene codificato una seconda volta, %20 diventa %2520 (il % viene codificato come %25). Il risultato è un URL che non funziona perché il server decodifica una sola volta e ottiene %20 come dato letterale invece dello spazio. Il nostro tool rileva e gestisce correttamente la doppia codifica in fase di decodifica, ma la prevenzione è meglio: codifica i dati una sola volta, al momento della costruzione dell'URL.