Décodeur d'URL

Décodez des URL encodées pour obtenir un texte lisible et ainsi vérifier des liens, formulaires web, paramètres de suivi et exemples de cours sur le fonctionnement du web.

Analyseur d'URL / Inspecteur

Coller une ou plusieurs URLs complètes (une par ligne) pour les décoder en protocole, hôte, chemin, chaîne de requête et fragment, chaque paramètre de requête étant décodé.

Apprendre le codage des URL

Une URL ne peut contenir en toute sécurité que des lettres, des chiffres et un petit ensemble de symboles (- _ . ~). Tout le reste, y compris les espaces, la ponctuation, et les caractères non-anglais, doit être représenté avec le pourcentage-encodage avant qu'il puisse voyager dans une URL.

L'encodage en pourcentage remplace un personnage par un signe en pourcentage suivi de sa valeur d'octet hexadécimal à deux chiffres, en utilisant UTF-8 pour tout ce qui est en dehors de l'ASCII de base. Un espace devient %20, un ampersand devient %26, et un caractère accentué ou non-latin peut devenir plusieurs séquences %XX dans une rangée, puisque UTF-8 le représente comme plus d'un octet.

Des caractères tels que ? & = # et / ont une signification particulière dans une structure URL : ils marquent la chaîne de requête, séparent les paramètres ou introduisent le fragment. Si vos données doivent contenir un de ces caractères comme valeur plutôt que comme structure, encodez-le d'abord, ou le navigateur ou le serveur peut mal lire où une partie de l'URL se termine et le suivant commence.

Le décodage inverse le processus : il lit chaque séquence %XX de nouveau dans le caractère (ou octet) qu'il représente, ce qui est exactement ce que fait l'outil ci-dessus.

  • Encoder une valeur avant de l'ajouter à une chaîne de requête ou à un segment de chemin.
  • Décodez une URL qui vous a été donnée lorsque vous devez la lire ou la déboguer.
  • Décodez seulement le composant spécifique dont vous avez besoin. Le décodage aveuglé d'une URL entière peut transformer une ampère codée en un séparateur de paramètres.
  • Un encodage multi-octets à plus d'une séquence %XX est attendu, pas une erreur.

URL commune Personnages

CaractèreEncodéOù il est utilisé
espace%20Séparateur de mots dans une valeur
!%21
"%22
#%23Démarre le fragment
%%25Démarre une séquence codée en pourcentage
&%26Sépare les paramètres de la requête
'%27
(%28
)%29
+%2BSouvent lu comme un espace dans une chaîne de requête
,%2C
/%2FSépare les segments de chemin
:%3ASuivre le schéma, par exemple https:
;%3B
=%3DAssigne la valeur d'un paramètre de requête
?%3FDémarre la chaîne de requête
@%40
[%5B
]%5D

Cet outil vous a-t-il aidé ?

3.8/5 de 48 Évaluation

Décodez des URL, paramètres de requête, chemins et données web encodés en pourcentage pour vos cours, le débogage et les tests d'API

Un élève copie une adresse web depuis un formulaire en ligne et tombe sur une suite de caractères comme science%20project%20notes. Un développeur débutant inspecte une requête API et découvre qu'une esperluette placée dans un terme de recherche apparaît sous la forme %26. L'adresse fonctionne, mais elle est difficile à lire et à déboguer.

Un outil de décodage d'URL reconvertit les séquences précédées d'un signe pour cent en caractères correspondants. Par exemple, %20 redonne habituellement une espace, tandis que %26 redonne une esperluette.

Le décodage sert à comprendre un lien, à inspecter les paramètres d'une requête, à étudier l'encodage employé sur le web et à diagnostiquer une requête mal formée. Il demande de la prudence, car les caractères réservés peuvent modifier la structure d'une URL une fois décodés.

L'outil ne dit pas si une destination est sûre, correcte ou autorisée. Il ne change que la représentation des caractères encodés. Élèves et développeurs doivent toujours examiner l'hôte, le chemin, les paramètres et les valeurs décodées.

À quoi ressemble l'encodage d'une URL

Les URL se servent de certains caractères pour séparer leurs parties. Un point d'interrogation peut ouvrir une chaîne de requête, une esperluette peut séparer deux paramètres et un dièse peut annoncer un fragment.

Lorsque l'un de ces caractères doit figurer comme donnée et non comme séparateur de structure, il peut être encodé avec un signe pour cent. Ce signe est suivi de deux chiffres hexadécimaux qui représentent la valeur d'un octet.

Valeur encodée Caractère décodé Sens habituel
%20 Espace Sépare les mots à l'intérieur d'une valeur
%21 ! Point d'exclamation
%23 # Dièse ou marqueur de fragment
%26 & Esperluette ou séparateur de requête
%2B + Signe plus
%2F / Barre oblique ou séparateur de chemin
%3A : Deux-points
%3D = Signe égal ou séparateur de paramètre
%3F ? Point d'interrogation ou début de requête

Dans les séquences pour cent, les lettres hexadécimales ne distinguent pas majuscules et minuscules : %2F et %2f représentent donc le même octet.

Comment décoder une URL

  1. Copiez l'URL ou la valeur encodée. Conservez chaque signe pour cent et la paire de caractères qui le suit.
  2. Repérez la partie que vous examinez. Déterminez s'il s'agit d'une URL complète, d'un chemin, d'un nom de paramètre ou d'une valeur de paramètre.
  3. Collez-la dans l'outil de décodage d'URL. Assurez-vous d'avoir tout copié.
  4. Lancez le décodage. L'outil convertit les séquences pour cent qu'il reconnaît.
  5. Lisez le résultat comme du texte. N'ouvrez pas machinalement une destination inconnue.
  6. Comparez la structure et les données. Observez si les points d'interrogation, esperluettes, barres obliques ou signes égal décodés changent l'allure de l'adresse.
  7. Contrôlez les caractères non anglais. Vérifiez que l'encodage de caractères attendu a bien été utilisé.
  8. Gardez le texte de départ. Il peut servir à comprendre un double encodage ou une étape de décodage erronée.

Commencez par comprendre les parties d'une URL

Prenez cet exemple :

https://example.edu/search?q=water%20cycle&level=grade%206#results

Ses parties principales sont :

  • Schéma : https
  • Hôte : example.edu
  • Chemin : /search
  • Requête : q=water%20cycle&level=grade%206
  • Fragment : results

Les valeurs de la requête se décodent en « water cycle » et « grade 6 ». L'esperluette structurelle placée entre les paramètres ne doit pas être confondue avec une esperluette encodée à l'intérieur d'une valeur.

Décodez le bon composant

Les développeurs se créent souvent des ennuis en décodant une URL entière alors qu'un seul composant devait l'être. Selon l'endroit où ils apparaissent, les caractères réservés peuvent jouer des rôles différents.

Imaginons une requête qui contient :

?topic=research%26writing

La valeur encodée représente :

research&writing

L'esperluette appartient à la valeur du paramètre. Si l'on décode la requête entière puis qu'on l'analyse mal, cette esperluette risque d'être prise pour un séparateur annonçant un autre paramètre.

Une application fiable analyse l'URL selon sa structure et décode chaque composant avec une API d'URL appropriée, au lieu de recourir à des remplacements de texte improvisés.

Un atelier de débogage d'URL

Étape 1 : partez d'un lien lisible

Les élèves examinent :

https://example.edu/library?topic=space%20science

Ils repèrent l'hôte, le chemin, le nom du paramètre et la valeur encodée.

Étape 2 : ne décodez que la valeur

La valeur space%20science devient space science. Les élèves expliquent pourquoi on n'écrit pas d'ordinaire une véritable espace dans une URL destinée à être partagée.

Étape 3 : introduisez des caractères réservés

L'enseignant propose :

?title=Design%20%26%20Technology

Le titre décodé est Design & Technology. Les élèves constatent que l'esperluette encodée fait partie du titre au lieu de séparer des paramètres.

Étape 4 : faites le chemin inverse

Les élèves se servent de l'outil d'encodage d'URL pour préparer une nouvelle valeur, puis la décodent et comparent le résultat.

Étape 5 : trouvez l'erreur

Une séquence contient un échappement pour cent incomplet, par exemple %2. Les élèves expliquent pourquoi deux chiffres hexadécimaux sont attendus après le signe pour cent.

Usages réels

1. Lire les paramètres d'une recherche

Un élève copie le lien d'une recherche faite dans un catalogue de bibliothèque, qui contient plusieurs mots encodés. L'URL telle qu'elle s'affiche est difficile à interpréter.

L'élève décode les valeurs de la requête et confirme quels termes et quels filtres avaient été retenus. L'hôte est contrôlé avant l'ouverture du lien.

Cela lui fait comprendre comment un site transporte des informations de recherche d'une page à l'autre.

2. Déboguer une requête API

Un développeur débutant envoie une requête contenant un intitulé de cours avec une esperluette. Le serveur reçoit cet intitulé comme deux paramètres distincts.

Il inspecte la requête brute et découvre que l'esperluette n'avait pas été encodée comme donnée. La valeur est reconstruite avec une API d'URL standard, puis testée de nouveau.

Le décodeur aide à comprendre la requête, mais la correction durable passe par une gestion structurée des URL plutôt que par un remplacement manuel.

3. Enquêter sur un lien cassé

Une enseignante reçoit le lien d'un document de classe, mais la destination répond que le fichier est introuvable.

L'URL est examinée puis décodée. Un nom de fichier contient une barre oblique qui a peut-être été lue comme un séparateur de chemin, ou bien une espace a été mal copiée.

L'enseignante demande un nouveau lien de partage à la personne qui détient le document, au lieu de modifier à l'aveugle une adresse privée qu'elle ne connaît pas.

4. Comprendre l'envoi d'un formulaire

Les élèves créent un formulaire de recherche simple et observent l'URL après avoir envoyé un texte contenant des espaces et de la ponctuation.

Ils décodent les valeurs des paramètres et les comparent à ce qu'ils avaient saisi. La classe discute des raisons pour lesquelles les navigateurs encodent les valeurs avant de les placer dans une URL.

Aucun mot de passe réel, aucun dossier d'élève et aucune réponse privée ne servent à l'exercice.

5. Inspecter des liens de suivi

Le lien d'une lettre d'information scolaire contient plusieurs paramètres de suivi. Une enseignante veut savoir quelles informations il transporte avant de le partager.

L'URL est découpée en paramètres et leurs valeurs sont décodées. Les valeurs de suivi inutiles ne peuvent être retirées que si cela ne casse pas la destination voulue.

Le lien final est testé, et non supposé fonctionner après une retouche manuelle.

6. Découvrir l'encodage d'URL multilingue

Une classe d'informatique essaie une courte expression non anglaise dans une URL. Le résultat encodé contient plusieurs séquences pour cent, parce que les caractères UTF-8 peuvent occuper plusieurs octets.

Les élèves décodent la séquence complète et la comparent à l'expression d'origine. Retirer un seul octet encodé peut produire un caractère de remplacement ou un texte invalide.

L'activité démontre qu'un caractère visible ne correspond pas toujours à un seul octet encodé.

7. Diagnostiquer un double encodage

Un développeur attend une espace et voit %2520. La séquence %25 représente le signe pour cent : un premier passage de décodage donne donc %20, et un second peut donner une espace.

Il remonte jusqu'à l'endroit où la valeur a été encodée deux fois. Le cheminement des données est corrigé, au lieu de décoder sans fin chaque entrée.

8. Vérifier les destinations de redirection

Un lien contient une autre URL encodée dans un paramètre tel que redirect ou next.

Le destinataire décode cette valeur comme du texte brut et vérifie quel est l'hôte réellement visé avant de l'ouvrir. Une adresse encodée ne mérite pas la confiance au seul motif que sa destination finale est difficile à lire.

Le décodage d'URL comparé aux autres décodeurs

Entrée Encodage probable Outil adapté Exemple décodé
lesson%20notes Encodage pour cent des URL Décodage d'URL lesson notes
<p> Entités HTML Décodage HTML <p>
SGVsbG8= Base64 Décodage Base64 Hello
u003F Échappement Unicode Un analyseur JSON ou propre au langage ?

Servez-vous de l'outil de décodage HTML pour les références d'entités, et de l'outil de décodage Base64 uniquement lorsque vous savez que les données emploient ce format.

Espaces et signes plus

Une espace se représente couramment par %20. Dans l'encodage de requête propre aux formulaires, un signe plus peut aussi être lu comme une espace.

D'où une distinction importante :

  • class%20notes se décode habituellement en class notes.
  • class+notes peut se décoder en class notes dans le contexte d'une requête de formulaire.
  • Un véritable signe plus doit parfois être encodé en %2B.

Employez la méthode de décodage prévue pour ce composant et ce format. Un décodeur de chemin et un décodeur de requête de formulaire ne traitent pas forcément le signe plus de la même façon.

Caractères sur plusieurs octets

L'encodage pour cent travaille sur des octets. Un caractère situé hors de l'ASCII de base peut être représenté par plusieurs octets encodés.

Une lettre accentuée ou un caractère arabe, par exemple, peut apparaître comme une suite de plusieurs échappements pour cent. Tous les octets nécessaires doivent rester dans l'ordre et être interprétés avec le bon encodage de caractères.

Si le résultat contient des symboles de remplacement, vérifiez si :

  • Un octet encodé manque.
  • La séquence a été décodée avec le mauvais encodage de caractères.
  • Le texte a été copié de façon incomplète.
  • La valeur a été décodée trop de fois.
  • Les données de départ étaient déjà abîmées.

Problèmes courants que cela résout

  • Une URL contient des séquences pour cent illisibles.
  • Un élève doit examiner les paramètres d'une recherche.
  • La valeur d'une requête API contient des espaces ou de la ponctuation encodés.
  • Un lien partagé semble contenir une autre destination encodée.
  • Un développeur soupçonne un double encodage.
  • L'envoi d'un formulaire doit être étudié dans une leçon de programmation.
  • Un chemin ou un paramètre dans une autre langue est difficile à lire.
  • Un lien cassé contient peut-être une valeur mal encodée.

Erreurs fréquentes de décodage d'URL

Décoder l'URL entière sans la comprendre

Après décodage, les caractères réservés peuvent modifier la structure. Découpez l'URL en composants et ne décodez que la valeur visée.

Décoder plusieurs fois de suite

Un décodage répété peut transformer des données jusque-là inoffensives en séparateurs actifs ou en chemins inattendus. Cherchez pourquoi plusieurs couches d'encodage existent.

Faire un rechercher-remplacer à la main

Remplacer %20 par une espace ne couvre pas tous les caractères encodés, ni les séquences UTF-8, ni les entrées mal formées, ni les règles sur le signe plus. Dans le code, employez un analyseur d'URL structuré ou une API standard.

Ouvrir une destination décodée inconnue

Décodez-la d'abord comme du texte. Examinez le schéma, le nom d'hôte, le chemin et les paramètres avant de décider de la visiter.

Confondre encodage d'URL et encodage HTML

%26 et & peuvent tous deux représenter une esperluette, dans des contextes différents. Choisissez le décodeur d'après la représentation réelle.

Ignorer les séquences pour cent invalides

Un signe pour cent doit être suivi de deux chiffres hexadécimaux. Une séquence incomplète ou invalide peut signaler des données abîmées.

Placer des mots de passe dans une URL

Les URL peuvent se retrouver dans l'historique du navigateur, les journaux, les statistiques, les captures d'écran et les messages partagés. Les identifiants sensibles n'ont pas leur place dans une chaîne de requête.

Considérations de sécurité

Les valeurs décodées peuvent contenir des caractères au sens particulier. Une barre oblique décodée peut agir sur un chemin, une esperluette peut altérer des paramètres, et des chevrons peuvent devenir du balisage s'ils sont mal insérés dans une page web.

Les applications devraient :

  • Analyser les URL avec les API d'URL standard.
  • Ne décoder que le composant concerné.
  • Contrôler que les noms et valeurs de paramètres sont ceux attendus.
  • Restreindre les destinations de redirection.
  • Éviter de construire des requêtes de base de données ou des commandes shell à partir de données non fiables.
  • Échapper la sortie selon le contexte où elle est affichée.
  • Rejeter les séquences mal formées lorsque c'est nécessaire.
  • Consigner les erreurs sans exposer de données sensibles.

Décoder n'est pas assainir. Le décodage révèle quels caractères étaient représentés, mais il ne décide pas s'ils sont sûrs pour du HTML, un chemin de fichier, une requête de base de données ou une redirection.

Vie privée et usage responsable

Une URL peut contenir des termes de recherche, des identifiants de documents, des adresses électroniques, des codes de classe, des noms de fichiers, des données de suivi et bien d'autres informations. Le décodage rend tout cela plus lisible, mais ne le supprime pas.

Ne collez pas dans un outil externe des liens scolaires privés, des jetons de réinitialisation, des URL signées, des adresses menant à des dossiers d'élèves ou des données d'authentification. Pendant les leçons et les démonstrations, remplacez les valeurs sensibles par des exemples fictifs.

Avant de partager la capture d'écran d'une URL décodée, retirez les noms de comptes, les hôtes privés, les jetons et les identifiants de documents.

Un exemple pratique côté développement

Les développeurs débutants devraient privilégier les API d'URL dédiées. En JavaScript, la valeur d'un paramètre se lit ainsi :

const url = new URL(
  "https://example.edu/search?q=water%20cycle"
);

const query = url.searchParams.get("q");

console.log(query);
// water cycle

Cette approche analyse l'URL et renvoie la valeur du paramètre déjà décodée. Elle est en général plus sûre et plus claire que de découper soi-même la chaîne entière à chaque point d'interrogation, esperluette et signe égal.

Liste de vérification finale

  • Le texte encodé de départ a été conservé.
  • Le composant d'URL à décoder a été identifié.
  • Les séquences pour cent comportent deux chiffres hexadécimaux valides.
  • Les signes plus ont été interprétés selon le bon contexte.
  • Les caractères sur plusieurs octets s'affichent correctement.
  • L'hôte et la destination décodés ont été examinés avant toute ouverture.
  • Les caractères réservés n'ont pas modifié par accident la structure voulue.
  • Le double encodage a été retracé plutôt que deviné.
  • Aucun mot de passe, jeton ou dossier d'élève n'a été exposé.
  • Le code de l'application emploie des API d'URL dédiées lorsque c'est possible.

Outils associés

Servez-vous de l'outil d'encodage d'URL pour préparer un texte destiné à un composant d'URL, puis décodez-le afin de vérifier un exemple de classe.

Si l'entrée contient des entités comme < ou ", utilisez l'outil de décodage HTML. Pour un texte dont vous savez qu'il est en Base64, utilisez l'outil de décodage Base64.

Choisir le bon décodeur évite des transformations inutiles et rend le débogage plus fiable.

Pour conclure

Le décodage d'URL transforme des séquences pour cent en caractères lisibles. Il aide les élèves à comprendre les adresses web et aide les développeurs à inspecter des valeurs de requête, des requêtes API, du texte multilingue, des redirections et des problèmes de double encodage.

La méthode la plus sûre consiste à identifier le composant d'URL, à ne décoder que le nécessaire et à conserver le texte de départ. Traitez le résultat comme une donnée qui demande encore à être validée.

Un lien décodé est plus facile à examiner, mais il n'en devient pas automatiquement sûr ni correct. Vérifiez sa structure, sa destination, ses paramètres, ce qu'il révèle et l'encodage de caractères attendu avant de l'utiliser.

Pour les enseignantsPour les étudiants