Codifica URL
La codifica URL rappresenta un byte in un componente URI con un segno di percentuale seguito da due cifre esadecimali.
Definizione
La codifica URL, più precisamente codifica percentuale, rappresenta un byte con % e due cifre esadecimali. Uno spazio può diventare %20 e il segno di percentuale stesso %25.
I caratteri URI non riservati—lettere ASCII, cifre, -, ., _ e ~—restano normalmente invariati. Gli altri dipendono da posizione e significato.
Come funziona
Il testo non ASCII viene prima convertito in byte, di solito UTF-8, poi i byte necessari sono codificati singolarmente. Così café diventa caf%C3%A9.
I caratteri riservati /, ?, #, & e = strutturano l’URL. La codifica dipende dal componente: segmento di percorso, parametro, frammento o altro.
Spazi e dati dei moduli
La codifica percentuale scrive uno spazio come %20. Il formato application/x-www-form-urlencoded, usato in query e moduli HTML, spesso usa +; un più letterale diventa quindi %2B.
Le librerie offrono in genere funzioni diverse per URL interi, segmenti e valori dei parametri. La funzione specifica tratta correttamente i separatori strutturali.
Sicurezza ed errori comuni
La codifica è reversibile e non è cifratura. Valori sensibili possono restare visibili in cronologia, log, dati Referer e registri del server.
Ricodificare una percentuale già codificata causa doppia codifica: %20 diventa %2520. I dati decodificati vanno comunque validati, perché la codifica non rende sicuro un input dannoso.
%20 è il byte codificato di uno spazio. + significa spazio solo nella codifica dei moduli; altrove può essere un più letterale.
Di solito no. Segmenti e valori vanno codificati con la funzione del componente, così i separatori strutturali mantengono il loro significato.
No. Offre compatibilità sintattica, ma non riservatezza, integrità o autenticità.