Curious TechieDev Toolbox
Tutte le Guide/Standard Web8 min read

Cos’è la Codifica URL (Percent-Encoding)?

Standard RFC 3986, caratteri riservati, traduzione byte UTF-8 e gestione delle query string.

Punti Chiave
  • Il Percent-encoding traduce i caratteri non consentiti in sequenze esadecimali %HH (RFC 3986).
  • I delimitatori speciali come ? e & richiedono l’escape nei parametri di richiesta.
  • encodeURIComponent() protegge i valori; encodeURI() salvaguarda i percorsi.
  • Gli spazi sono convertiti in %20 o in + nei dati modulo.

Gli identificatori universali di risorse (URI) sono limitati a un sottoinsieme di US-ASCII. Per trasmettere in sicurezza caratteri speciali, accenti ed emoji, il Web impiega il Percent-Encoding (Codifica URL).

1. Perché le URL Richiedono il Percent-Encoding

Regolato dalla RFC 3986, il percent-encoding converte i byte non validi in un segno di percentuale (%) seguito da due cifre esadecimali (es.: Spazio = %20).

2. Caracteres Riservati e Non Riservati

  • Non riservati: A-Z, a-z, 0-9, -, _, ., ~ (mai codificati).
  • Riservati (Delimitatori): :, /, ?, #, [, ], @, !, $, &, ', (, ), *, +, ,, ;, =.

3. encodeURI vs encodeURIComponent

Usa encodeURI su URL complete per preservare il protocollo (https://) e gli slash (/). Usa encodeURIComponent per codificare singoli valori nei parametri di ricerca.

4. Il Dilemma dello Spazio: %20 vs Segno Più (+)

La RFC 3986 stabilisce %20 per gli spazi nell’intera URI. L’uso del + deriva dai form HTML (application/x-www-form-urlencoded) ed è limitato ai parametri di query.