Blog di ClockTools

Strumenti URL

Codifica e decodifica URL: qual è la differenza?

Una guida reversibile e consapevole dei componenti per la codifica e la decodifica degli URL.

Di , sviluppatore ed editore | | Recensito sotto il ClockTools politica editoriale

Illustrazione editoriale per Codificare e decodificare URL: qual è la differenza?
Sommario

La codifica URL converte i caratteri non sicuri o significativi in un componente URL in triplette percentuali; la decodifica dell'URL inverte le triplette valide in caratteri leggibili. Codifica prima di inserire dati grezzi in un componente. Decodifica quando è necessario controllare o utilizzare un valore già codificato. Codificatore URL ClockTools e Decodificatore URL ti consentono di testare entrambe le direzioni senza modificare il testo originale.

ClockTools Codificatore URL con una query contenente spazi e una e commerciale
ClockTools Codificatore URL con una query contenente spazi e una e commerciale

Scegli la direzione dall'input

Se l'input è costituito da dati leggibili come summer shoes & bags, codificalo prima di inserirlo in un valore di query. Se l'input contiene già sequenze come %20 e hai bisogno dei caratteri originali, decodificalo una volta. Standard URL WHATWG definisce set di codifica percentuale per l'analisi e la serializzazione degli URL; RFC 3986 spiega la forma della tripletta percentuale e i caratteri riservati.

HaiTi serveOperazione
Valore della query non elaborataComponente sicuro per URLCodificare
Triplette percentualiValore leggibileDecodifica
URL analizzato completoUn campo cambiatoModifica quel componente, quindi serializzalo

La codifica non è la crittografia. Rende la sintassi inequivocabile; non nasconde informazioni sensibili.

Segui un esempio reversibile

Inizia con summer shoes & bags. La codifica del componente produce summer%20shoes%20%26%20bags. Gli spazi diventano %20 e la e commerciale diventa %26, quindi si tratta di dati anziché di un separatore. Decodificare quel risultato una volta ripristina la frase originale.

Diagramma di trasformazione della codifica e decodifica dell'URL reversibile
Diagramma di trasformazione della codifica e decodifica dell'URL reversibile

Nella verifica in tempo reale di ClockTools, un esempio di 74 caratteri è diventato una stringa di 102 caratteri con 14 sequenze di escape in modalità componente URI. Questi conteggi descrivono solo quel campione; input diversi producono totali diversi.

Rispettare i limiti dei componenti URL

Un URL contiene parti con sintassi diversa: schema, host, percorso, query e frammento. Il flusso di lavoro più sicuro consiste nell'analizzare l'URL, modificare il valore previsto, quindi serializzarlo utilizzando l'API per il tuo ambiente. La codifica di un URL completo già assemblato può trasformare in sequenze di escape separatori come :, /, ? e & che dovrebbero mantenere il loro significato strutturale.

Il caso del carattere spazio richiede particolare attenzione. La codifica percentuale generica rappresenta uno spazio come %20. La serializzazione delle query in stile modulo HTML può invece utilizzare +. Leggi Codifica URL per uno spazio per quel problema di interoperabilità ristretta; questo articolo affronta la direzione dell'operazione, la scelta dei componenti e l'inversione.

Prevenire la doppia codifica

La doppia codifica avviene quando il testo codificato viene nuovamente passato attraverso un codificatore. Ad esempio, %20 può diventare %2520 perché % è codificato come %25. Tieni traccia se ciascun valore è grezzo o codificato, codifica a un limite e decodifica solo il numero di volte richiesto dal contratto dati. RFC 3986 avverte che le stringhe con codifica percentuale non devono essere codificate o decodificate più di una volta senza un motivo chiaro.

Durante il debug, copia il componente più piccolo nello strumento, decodificalo una volta e confronta il risultato con il valore grezzo previsto. 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 dell'URL?

La codifica trasforma i caratteri in una rappresentazione sicura per il trasporto; la decodifica inverte le triplette percentuali valide in caratteri leggibili.

Devo codificare un URL completo o solo un componente?

Di solito codifica il valore o il componente che stai inserendo, non un URL già assemblato con separatori significativi.

Perché un URL a volte contiene %2520?

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

Un segno più è sempre uguale a uno spazio?

No. Alcuni parser di query con codifica modulo trattano + come uno spazio, mentre la codifica percentuale dell'URL generico utilizza %20.

Informazioni sull'autore

Vigneshwaran Vijayakumar

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

Vigneshwaran è un ingegnere con decenni di esperienza tecnica, compreso il lavoro professionale come responsabile del marketing digitale a Dubai. Il suo lavoro collega analisi dei dati, ottimizzazione dei motori di ricerca, ottimizzazione del tasso di conversione, sistemi di contenuti, produzione visiva, intelligenza artificiale applicata e apprendimento automatico. Presso ClockTools, trasforma quell'esperienza multidisciplinare in utilità browser mirate e guide pratiche e consapevoli del codice sorgente.

Profilo LinkedIn