Blog di ClockTools

Strumenti URL

Codifica e decodifica degli URL: qual è la differenza?

Una guida alla codifica e decodifica degli URL, operazioni inverse da applicare ai singoli componenti.

Di , sviluppatore ed editore | | Revisionato secondo la politica editoriale di ClockTools

Illustrazione editoriale per Codifica e decodifica degli URL: qual è la differenza?
Sommario

La codifica degli URL converte i caratteri non ammessi direttamente o dotati di un significato particolare in un componente URL in triplette percentuali; la decodifica riconverte le triplette valide in caratteri leggibili. Codifica i dati grezzi prima di inserirli in un componente. Decodifica un valore già codificato quando devi esaminarlo o utilizzarlo. Il Codificatore URL di ClockTools e il Decodificatore URL permettono di provare entrambe le operazioni senza modificare il testo originale.

Codificatore URL di ClockTools con una query contenente spazi e il simbolo di e commerciale
Codificatore URL di ClockTools con una query contenente spazi e il simbolo di e commerciale

Scegli l'operazione in base all'input

Se l'input contiene dati leggibili come summer shoes & bags, codificalo prima di inserirlo nel valore di una query. Se contiene già sequenze come %20 e ti servono i caratteri originali, decodificalo una sola volta. Lo standard URL WHATWG definisce gli insiemi di caratteri da codificare per l'analisi e la serializzazione degli URL; RFC 3986 spiega la struttura delle triplette percentuali e i caratteri riservati.

HaiTi serveOperazione
Valore grezzo di una queryComponente utilizzabile in un URLCodifica
Triplette percentualiValore leggibileDecodifica
URL completo già analizzatoUn campo modificatoModifica il componente, poi serializza l'URL

La codifica non è crittografia. Rende la sintassi inequivocabile, ma non nasconde le informazioni sensibili.

Segui un esempio reversibile

Parti da summer shoes & bags. La codifica del componente produce summer%20shoes%20%26%20bags. Gli spazi diventano %20 e la e commerciale diventa %26, così viene trattata come un dato e non come un separatore. Decodificando il risultato una sola volta si ottiene di nuovo la frase originale.

Diagramma delle trasformazioni inverse di codifica e decodifica degli URL
Diagramma delle trasformazioni inverse di codifica e decodifica degli URL

Nel controllo sullo strumento online di ClockTools, un campione di 74 caratteri è diventato una stringa di 102 caratteri con 14 sequenze di escape in modalità URI Component. Questi conteggi valgono soltanto per quel campione: input diversi producono totali diversi.

Rispetta i confini tra i componenti URL

Un URL contiene parti con sintassi diverse: schema, host, percorso, query e frammento. Il procedimento più sicuro è analizzare l'URL, modificare il valore desiderato e poi serializzarlo usando l'API del proprio ambiente. Codificare un intero URL già composto può trasformare in sequenze di escape separatori come :, /, ? e & che dovrebbero conservare la loro funzione strutturale.

Il carattere spazio richiede particolare attenzione. La codifica percentuale generica lo rappresenta come %20; la serializzazione delle query secondo le regole dei moduli HTML può invece usare +. La guida alla codifica URL dello spazio tratta questo specifico problema di interoperabilità; qui ci concentriamo sulla scelta dell'operazione e del componente e sulla trasformazione inversa.

Evita la doppia codifica

La doppia codifica si verifica quando un testo già codificato passa di nuovo attraverso un codificatore. Per esempio, %20 può diventare %2520 perché % viene codificato come %25. Tieni traccia di quali valori sono grezzi e quali sono codificati, esegui la codifica in un solo punto di passaggio e decodifica soltanto il numero di volte richiesto dal contratto dei dati. RFC 3986 avverte che le stringhe con codifica percentuale non vanno codificate o decodificate più di una volta senza un motivo preciso.

Durante il debug, copia nello strumento il componente più piccolo, decodificalo una volta e confronta il risultato con il valore grezzo atteso. Non incollare mai segreti, token o URL privati in uno strumento di cui non ti fidi.

Domande frequenti

Qual è la differenza tra codifica e decodifica degli URL?

La codifica trasforma i caratteri in una rappresentazione adatta alla trasmissione; la decodifica riconverte le triplette percentuali valide in caratteri leggibili.

Devo codificare un URL completo o soltanto un componente?

Di solito va codificato il valore o il componente da inserire, non un URL già composto con separatori che hanno una funzione precisa.

Perché un URL a volte contiene %2520?

Di solito significa che %20 è stato codificato una seconda volta: il segno di percentuale è diventato %25, producendo un valore con doppia codifica.

Il segno più equivale sempre a uno spazio?

No. Alcuni parser di query con codifica per moduli interpretano + come uno spazio, mentre la codifica percentuale generica degli URL usa %20.

Informazioni sull'autore

Vigneshwaran Vijayakumar

Fondatore, sviluppatore ed editore di ClockTools | Responsabile marketing digitale | India

Vigneshwaran è un ingegnere con decenni di esperienza tecnica, che comprende il lavoro come responsabile marketing digitale a Dubai. Il suo lavoro unisce analisi dei dati, ottimizzazione per i motori di ricerca, ottimizzazione del tasso di conversione, sistemi di gestione dei contenuti, produzione visiva, intelligenza artificiale applicata e apprendimento automatico. In ClockTools mette questa esperienza multidisciplinare al servizio di strumenti per il browser mirati e guide pratiche attente alle fonti.

Profilo LinkedIn