JotTools .

Qu'est-ce que l'encodage URL? L'encodage pour cent explique simplement

JotTools Team 5 min de lecture
L'outil de ce guide Ouvrir Encoder / Décoder URL

Collez un lien contenant un espace dans un navigateur et il se passe quelque chose d’etrange: l’espace se transforme en %20. Ce %20, c’est l’encodage URL en action, et le comprendre eclaircit toute une categorie de bugs deroutants autour des liens, des formulaires et des API. Ce guide explique ce qu’est l’encodage URL, pourquoi il existe et quand il faut encoder plutot que decoder, ecrit pour les developpeurs mais accessible a quiconque travaille avec des liens.

Pourquoi les URL ont besoin d’un encodage

Une URL ne peut contenir qu’un ensemble limite de caracteres: lettres, chiffres et une poignee de symboles comme les traits d’union, les points et les barres obliques. Tout le reste doit etre represente d’une autre maniere.

Le probleme, c’est que les donnees reelles regorgent de caracteres en dehors de cet ensemble. Les espaces, points d’interrogation, esperluettes, barres obliques, lettres accentuees et emojis apparaissent dans les choses que nous voulons mettre dans les URL, comme les termes de recherche et les valeurs de formulaire. Beaucoup de ces caracteres ont aussi un role structurel special a l’interieur d’une URL, donc les inserer bruts perturberait ce qui lit le lien. L’encodage URL est la maniere convenue de transporter ces donnees en toute securite.

Ce que fait l’encodage pour cent

L’encodage URL est aussi appele encodage pour cent, et ce nom decrit exactement le mecanisme.

Tout caractere qui n’est pas autorise est remplace par un signe pour cent suivi de deux chiffres hexadecimaux representant la valeur en octets de ce caractere. Un espace devient %20. Une esperluette devient %26. Une barre oblique devient %2F. Un point d’interrogation devient %3F.

Ainsi, l’expression fish & chips a l’interieur d’une URL devient fish%20%26%20chips. La donnee est entierement preservee, simplement ecrite sous une forme que tous les navigateurs et serveurs savent lire de la meme maniere. Le decodage ne fait qu’inverser le processus, en retransformant chaque sequence %XX en son caractere d’origine.

La ou cela compte le plus: les chaines de requete

La partie d’une URL situee apres le ? est la chaine de requete, et c’est la que l’encodage prouve son utilite.

Une chaine de requete est une liste de paires cle et valeur reliees par & et =, comme ceci:

?city=New%20York&sort=price

Ces caracteres & et = sont structurels. Ils separent une paire de la suivante et divisent les cles des valeurs. Donc si une valeur contient elle-meme une esperluette ou un signe egal, elle doit etre encodee, sinon elle serait prise pour la structure de la chaine de requete et l’ensemble serait mal analyse. Encoder la valeur empeche que les donnees de l’utilisateur et la tuyauterie de l’URL soient confondues l’une avec l’autre.

Quand encoder et quand decoder

Les deux directions couvrent deux moments differents de la vie d’un lien.

  • Encodez lorsque vous construisez une URL a partir de valeurs brutes: un terme de recherche tape par un utilisateur, un nom de fichier, une adresse e-mail, tout ce qui entre dans un segment de chemin ou un parametre de requete. Encodez-le d’abord pour que les caracteres speciaux ne puissent pas casser le lien.
  • Decodez lorsque vous lisez une URL construite par quelqu’un d’autre: en extrayant une valeur d’une chaine de requete, en inspectant un lien tire d’un journal, ou en reconvertissant une adresse truffee de %20 en quelque chose de lisible pour un humain.

Une regle simple: si vous etes sur le point de mettre des donnees dans une URL, encodez-les. Si vous en sortez des donnees, decodez-les.

En quoi c’est different de Base64

L’encodage URL est parfois confondu avec Base64, mais ils resolvent des problemes differents.

L’encodage pour cent est concu specifiquement pour les URL et ne touche que les caracteres qui sont dangereux dans ce contexte, laissant lisibles les lettres et chiffres ordinaires. Base64, en revanche, reecrit toute son entree dans un alphabet compact de lettres, de chiffres et de quelques symboles, ce qui est destine a faire transiter des donnees binaires par des canaux qui n’acceptent que du texte, pas a fabriquer une URL propre. Les deux ne sont pas interchangeables: utilisez l’encodage pour cent pour rendre une valeur sure dans une URL, et Base64 lorsque vous devez representer un contenu binaire sous forme de texte brut.

Encodez et decodez dans votre navigateur

Vous n’avez pas besoin de chercher les codes hexadecimaux a la main. L’outil gratuit Encoder/Decoder une URL convertit le texte en forme encodee pour cent et inversement d’un seul clic, pour que vous puissiez preparer une valeur de requete ou lire un lien en desordre en quelques secondes.

Comme l’outil Encoder/Decoder une URL s’execute entierement dans votre navigateur, il n’y a pas d’inscription et rien de ce que vous collez n’est telecharge ou que ce soit. Cela le rend sur pour les liens et les parametres qui pourraient contenir des valeurs sensibles.

Outils connexes

L’encodage voyage rarement seul, alors quelques voisins valent la peine d’etre connus. Lorsque vous devez transporter des donnees binaires sous forme de texte plutot que de securiser une URL, l’outil Encoder/Decoder Base64 gere cette conversion. Pour proteger des caracteres comme < et & a l’interieur du contenu d’une page web plutot que dans des liens, l’outil Encoder/Decoder HTML les echappe correctement. Et lorsqu’une reponse d’API revient sous la forme d’une chaine de donnees dense, le Formateur JSON la rend lisible avec une indentation appropriee.

La version courte

L’encodage URL, ou encodage pour cent, remplace les caracteres dangereux par des codes %XX pour que les espaces et les caracteres speciaux ne puissent pas casser un lien, ce qui compte surtout a l’interieur des chaines de requete. Encodez en construisant une URL, decodez en en lisant une, et recourez a Base64 uniquement lorsque vous avez besoin de binaire sous forme de texte. Quand vous voulez que ce soit fait pour vous, l’outil Encoder/Decoder une URL gere les deux directions dans votre navigateur.

Essayez Encoder / Décoder URL maintenant

Encodeur et décodeur d'URL en ligne et gratuit. Convertissez vos chaînes de requête au format pourcent ou retrouvez le texte depuis %20, directement dans le navigateur.

Ouvrir Encoder / Décoder URL

Outils gratuits associés