Quando si passano informazioni tramite un URL, la stringa deve utilizzare solo caratteri consentiti specifici. Questi caratteri consentiti includono caratteri alfabetici, numeri e alcuni caratteri speciali che hanno un significato nella stringa dell'URL. Tutti gli altri caratteri che devono essere aggiunti a un URL dovrebbero essere codificati in modo che non causino problemi durante il viaggio del browser per individuare le pagine e le risorse che stai cercando.
Codifica di un URL
La codifica prende semplicemente un carattere speciale e lo sostituisce con la sua alternativa codificata. La stringa sembra disordinata, ma il risultato è facile da leggere per i computer e non rischi di deviare gli URL.
Ad esempio, collegandosi a un file intitolato il mio curriculum.pdf richiede la codifica dell'URL per adattarsi allo spazio tra mio e curriculum vitae. Il risultato è mio%20resume.pdf. Senza la codifica per il simbolo dello spazio, il browser Web presumerà che l'URL termini alla fine della parola
mio, con curriculum.pdf essere scartati come dati superflui. In una situazione del genere, non troverai mai il tuo file!Cosa dovrebbe essere codificato?
Qualsiasi carattere che non sia un carattere alfabetico, un numero o un carattere speciale utilizzato al di fuori del suo normale contesto deve essere codificato nella tua pagina. Di seguito è riportata una tabella di caratteri comuni negli URL e la loro codifica:
Codifica URL caratteri riservati
Personaggio | Scopo nell'URL | Codifica |
: | Protocollo separato (http) dall'indirizzo | %3B |
/ | Dominio e directory separati | %2F |
# | Ancoraggi separati | %23 |
? | Stringa di query separata | %3F |
& | Elementi di query separati | %24 |
@ | Separare nome utente e password dal dominio | %40 |
% | Indica un carattere codificato | %25 |
+ | Indica uno spazio | %2B |
Non consigliato negli URL | %20 o + |
Questi esempi codificati sono diversi da quelli che trovi con Caratteri speciali HTML. Ad esempio, per codificare un URL con un carattere e commerciale, utilizzare %24. Tuttavia, in HTML, usa entrambi & o &, entrambi i quali scriverebbero la e commerciale nella pagina HTML.
Questi diversi schemi di codifica non sono così contraddittori come sembrano. Un set governa gli URL mentre l'altro governa il contenuto della pagina a cui punta l'URL.