Blogue ClockTools

Outils d'URL

Encodage ou décodage d'URL : quelle est la différence ?

Un guide réversible et sensible aux composants pour le codage et le décodage d'URL.

Par , développeur et éditeur | | Révisé sous le Politique éditoriale de ClockTools

Illustration éditoriale sur l'encodage et le décodage d'URL : quelle est la différence ?
Table des matières

Le codage d'URL convertit les caractères dangereux ou significatifs dans un composant d'URL en triplets de pourcentage ; le décodage d'URL inverse les triplets valides en caractères lisibles. Encodez avant d'insérer des données brutes dans un composant. Décodez lorsque vous devez inspecter ou utiliser une valeur déjà codée. Les outils Encodeur d'URL ClockTools et Décodeur d'URL vous permettent de tester les deux sens sans modifier le texte original.

ClockTools Encodeur d'URL avec une requête contenant des espaces et une esperluette
ClockTools Encodeur d'URL avec une requête contenant des espaces et une esperluette

Choisissez la direction à partir de l'entrée

Si l'entrée est constituée de données lisibles par l'homme telles que summer shoes & bags, encodez-la avant de la placer dans une valeur de requête. Si l'entrée contient déjà des séquences telles que %20 et que vous avez besoin des caractères originaux, décodez-la une fois. La norme URL WHATWG définit des ensembles de codage en pourcentage pour l'analyse et la sérialisation des URL ; RFC3986 explique la forme du triplet de pourcentage et les caractères réservés.

Vous avezVous avez besoinFonctionnement
Valeur brute de la requêteComposant sécurisé pour les URLEncoder
Triplets de codage en pourcentageValeur lisibleDécoder
URL complète déjà analyséeUn champ modifiéModifiez ce composant, puis sérialisez l'URL

L'encodage n'est pas un cryptage. Cela rend la syntaxe sans ambiguïté ; il ne cache pas les informations sensibles.

Suivez un exemple réversible

Commencez par summer shoes & bags. L'encodage des composants produit summer%20shoes%20%26%20bags. Les espaces deviennent %20 et l'esperluette devient %26, il s'agit donc de données plutôt que d'un séparateur. Décoder ce résultat une seule fois rétablit la phrase originale.

Diagramme de transformation d'encodage et de décodage d'URL réversible
Diagramme de transformation d'encodage et de décodage d'URL réversible

Lors de la vérification en direct de ClockTools, un exemple de 74 caractères est passé à 102 caractères avec 14 séquences d'échappement en mode composant URI. Ces décomptes décrivent uniquement cet échantillon ; différentes entrées produisent des totaux différents.

Respecter les limites des composants d'URL

Une URL contient des éléments avec une syntaxe différente : schéma, hôte, chemin, requête et fragment. Le flux de travail le plus sûr consiste à analyser l'URL, à modifier la valeur souhaitée, puis à la sérialiser à l'aide de l'API de votre environnement. L'encodage d'une URL complète déjà assemblée peut transformer en séquences d'échappement des séparateurs tels que :, /, ? et & qui devaient conserver leur signification structurelle.

Le cas du caractère espace mérite une attention particulière. Le codage en pourcentage générique représente un espace sous la forme %20. La sérialisation des requêtes de type formulaire HTML peut utiliser + à la place. Lisez Encodage URL pour un espace pour ce problème d'interopérabilité restreint ; cet article traite du sens de fonctionnement, du choix des composants et de l'inversion.

Empêcher le double encodage

Le double encodage se produit lorsque le texte codé passe à nouveau via un encodeur. Par exemple, %20 peut devenir %2520 car % est codé sous la forme %25. Gardez une trace de l'état de chaque valeur, brute ou encodée, encodez à une seule frontière du traitement et décodez uniquement le nombre de fois prévu par le contrat de données. La RFC 3986 avertit que les chaînes codées en pourcentage ne doivent pas être codées ou décodées plus d'une fois sans raison claire.

Lors du débogage, copiez le plus petit composant dans l'outil, décodez une fois et comparez le résultat avec la valeur brute attendue. Ne collez jamais de secrets, de jetons ou d'URL privées dans un outil auquel vous ne faites pas confiance.

Questions fréquemment posées

Quelle est la différence entre l’encodage et le décodage d’URL ?

L'encodage transforme les caractères en une représentation sécurisée pour le transport ; le décodage inverse les triplets de pourcentage valides en caractères lisibles.

Dois-je encoder une URL complète ou seulement un composant ?

Encodez généralement la valeur ou le composant que vous insérez, et non une URL déjà assemblée avec des séparateurs significatifs.

Pourquoi une URL contient-elle parfois %2520 ?

Cela signifie généralement que %20 a été à nouveau codé : le signe de pourcentage est devenu %25, produisant une valeur doublement codée.

Un signe plus est-il toujours identique à un espace ?

Non. Certains analyseurs de requêtes codées par formulaire traitent + comme un espace, tandis que le codage en pourcentage d'URL générique utilise %20.

À propos de l'auteur

Vigneshwaran Vijayakumar

Fondateur, développeur et éditeur de ClockTools | Responsable Marketing Numérique | Inde

Vigneshwaran est un ingénieur possédant des décennies d'expérience technique, notamment un travail professionnel en tant que responsable du marketing numérique à Dubaï. Son travail relie l'analyse des données, l'optimisation des moteurs de recherche, l'optimisation du taux de conversion, les systèmes de contenu, la production visuelle, l'IA appliquée et l'apprentissage automatique. Chez ClockTools, il transforme cette expérience multidisciplinaire en utilitaires de navigation ciblés et en guides pratiques prenant en compte les sources.

Profil LinkedIn