Qu'est-ce que le décodage d'URL et l'encodage d'URL ?

Publié: 2022-07-21

Lorsque vous exploitez un site Web, vous risquez à un moment donné de rencontrer le décodage et l'encodage d'URL. Si vous ne les avez pas encore rencontrés, ou si vous venez de les rencontrer pour la première fois et que vous souhaitez plus d'informations, nous vous les expliquerons ici.

Qu'est-ce qu'une URL ?

Une URL (Uniform Resource Locator) est une adresse utilisée par les navigateurs pour trouver une ressource sur Internet. Normalement, l'URL mènera à une page Web, comme celle que vous lisez. Cependant, parfois, cela peut conduire à un document (comme un document pdf).

Toutes les URL ont une structure qui a été formulée par l'inventeur du World Wide Web, Tim Berners-Lee. Ils se conforment également à une syntaxe générique qui ressemble à :

scheme:{//{user:password@}host{:port}}path{?query}{#fragment}

Certains aspects de la syntaxe de l'URL sont obsolètes et ne sont pas souvent utilisés en raison de problèmes de sécurité. Un bon exemple de cela serait l'aspect {user:password} . L'envoyer sans aucune forme de protection signifierait que les pirates pourraient accéder à des systèmes auxquels ils ne sont pas censés accéder.

Une URL courante que vous pouvez voir inclut :

https://example.com/page-1

Pour cette URL, le schéma est le https. L'hôte est example.com et le chemin est l'élément page-1.

Caractères d'URL autorisés

Les URL ne peuvent contenir que certains caractères. Les caractères appartiennent tous au jeu de caractères US-ASCII qui comprend des chiffres (0-9), des lettres (az) et quelques caractères spéciaux. S'il y a des caractères qui sont placés dans l'URL par un propriétaire de site Web qui ne sont pas inclus dans le codage US-ASCII ou qui ont été réservés pour une signification spéciale (y compris ?, /, #, :) alors l'URL doit être modifiée .

C'est là que l'encodage entre en jeu car aucune partie de l'URL ne doit contenir ces caractères "réservés", sauf s'ils sont destinés à la raison spécifique pour laquelle ils sont censés être utilisés. Par exemple, le caractère / est utilisé pour indiquer un chemin dans l'URL.

Ainsi, lorsque l'un de ces caractères est utilisé, les données incluses dans l'URL doivent être encodées. C'est à ce moment que le processus d'encodage d'URL convertit les caractères réservés, tous les caractères non sécurisés et les caractères non ASCII dans un format qui est plus universellement accepté et compris par les navigateurs Web et les serveurs.

Le caractère est changé pendant le processus de codage en quelque chose qui est un ou plusieurs octets représentés par deux chiffres hexadécimaux précédés du signe de pourcentage (%). C'est pourquoi l'encodage d'URL est parfois appelé encodage en pourcentage.

Par exemple, si vous deviez envoyer l'URL

https://example.com/hello world

Remarquez l'écart entre bonjour et monde. Ceci n'est pas autorisé dans le format d'URL standard et doit donc être modifié. La norme pour cela serait %20 où 20 est la représentation standard pour un espace. Par conséquent, l'URL transmise après l'encodage de l'URL ressemblerait à :

https://example.com/hello%20world

Pourquoi l'encodage d'URL est-il important ?

L'encodage d'URL est un élément important pour savoir s'il y a des erreurs dans vos URL. Si vous pouvez reconnaître quand l'encodage s'est produit, vous pouvez entrer et regarder votre structure et trouver des moyens de résoudre le problème, en créant une nouvelle URL.

Ou vous pourriez constater que vous avez des caractères non standardisés dont vous avez besoin dans la structure de l'URL et que vous devez savoir comment les encoder pour les accepter. Cela peut être le cas lorsque vous avez une question sur une page et que vous souhaitez créer un lien vers cette section de la page. Vous ne pouvez pas avoir le '?' dans la structure de l'URL car il s'agit d'un caractère réservé, vous devrez donc l'encoder.

L'URL d'origine que vous pourriez souhaiter serait :

https://example.com/questions#what-is-the-question? Mais lors de l'encodage, il serait remplacé par :

https://example.com/questions#what-is-the-question%3F Cela amènera ensuite le visiteur à la page questions, sur le domaine example.com et à la section de la page 'Quelle est la question ?'

Comment coder correctement une URL

Il y a un problème que lorsque vous avez besoin d'encoder une URL, des erreurs peuvent être commises dans l'aspect de codage. Par exemple, disons que l'URL example.com/a+b/c devait être encodée. Le / entre b et c peut être soit un symbole pour le chemin et donc un caractère autorisé dans l'URL, soit le symbole de division.

Par conséquent, l'encodage de l'URL example.coma+b/c peut entraîner soit

example.com/a%2Bb/c or example.com/a%2Bb%2Fc.

Donc, pour encoder correctement le domaine, vous devez savoir ce que représente le / entre b et c. Fait-il référence à une division ou à un chemin dans l'adresse ?

Ensuite, pour encoder correctement l'URL, vous devez encoder différentes sections. Cela inclut l'hôte (par exemple example.com) et chaque chemin individuel.

Donc, s'il s'agissait d'un chemin différent, vous auriez besoin d'encoder trois parties : example.com, a+b et c.

Si, toutefois, il était censé représenter la division, alors vous devriez encoder deux parties example.com et a+b/c.

Pour vous aider à encoder l'une de vos URL, vous pouvez utiliser cet outil en ligne gratuit de décodage et d'encodage d'URL de Gochyu. Vous devrez entrer séparément tous les différents chemins de l'URL, mais cela vous fournira le code correct dont vous avez besoin pour réussir.

Vous pouvez même séparer chaque partie de l'URL sur une nouvelle ligne afin d'obtenir une URL complète en une seule fois.

Ainsi, l'URL

example.com/questions/what-is-the-question?#Answer#1

devrait sortir comme:

example.com/questions/what-is-the-question%3F/#Answer%231

Qu'est-ce que le décodage d'URL ?

Le décodage d'URL est le processus d'encodage d'URL à l'envers. C'est lorsque l'URL a été encodée car elle contenait des caractères qui ne sont pas acceptables. Vous pouvez maintenant décoder cette URL afin qu'elle soit sous une forme plus lisible.

Cela peut être important pour trouver des erreurs dans une URL. Par exemple, vous avez peut-être accidentellement placé un # dans une URL. En décodant, vous pouvez les supprimer et rendre les URL plus lisibles pour les moteurs de recherche et les humains. Une fois supprimé, vous pourriez constater une amélioration du classement de votre site sur les moteurs de recherche ou obtenir un trafic plus direct, car les internautes peuvent désormais utiliser une URL standardisée.

Si vous avez besoin de décoder une URL, vous pouvez utiliser notre outil en ligne gratuit de décodage et d'encodage d'URL. Tout ce que vous avez à faire est d'entrer l'URL codée dans la case et d'appuyer sur le bouton de décodage.

Dernier mot : qu'est-ce que le décodage d'URL et l'encodage d'URL ?

L'encodage est le simple changement de caractères dans une URL, qui ne peuvent pas être utilisés pour diverses raisons, en un code standardisé. Cela permet d'éviter que des erreurs ne soient commises lors de la récupération des ressources d'un serveur et de permettre aux sites de s'afficher correctement sur un navigateur Web. Le décodage est le contraire.

Il est très important de savoir quand une URL a été encodée et de vous assurer que vous pouvez utiliser l'encodage et le décodage d'URL pour corriger les erreurs sur votre site Web.