Skip to main content
CheckTown
Convertisseurs

Encodage & décodage d'URL : Rendez les URLs sûres pour le web instantanément

Publié le 5 min de lecture
Dans cet article

Qu'est-ce que l'encodage URL ?

L'encodage URL (également appelé encodage en pourcentage) convertit les caractères non sécurisés ou réservés dans les URL en un format sûr. Chaque caractère non sécurisé est remplacé par un signe % suivi de son code ASCII hexadécimal à deux chiffres. Par exemple, un espace devient %20 et une esperluette devient %26.

Les URL ne peuvent contenir qu'un ensemble limité de caractères ASCII. Les caractères hors de cet ensemble — notamment les espaces, les lettres non-ASCII et les symboles spéciaux — doivent être encodés en pourcentage pour être transmis en toute sécurité dans une URL.

Comment fonctionne l'encodage URL

L'encodeur identifie les caractères non sécurisés dans les URL et les remplace par leurs équivalents encodés en pourcentage.

  • Détection des caractères sûrs — les lettres, chiffres et les caractères - _ . ~ sont laissés inchangés
  • Gestion des caractères réservés — ! * ' ( ) ; : @ & = + $ , / ? # [ ] sont encodés dans la plupart des contextes
  • Support Unicode — les caractères non-ASCII sont d'abord encodés en UTF-8, puis chaque octet est encodé en pourcentage

Essayez gratuitement — sans inscription

Encoder ou décoder une URL →

Quand utiliser l'encodage URL

L'encodage URL est requis dès que des caractères spéciaux apparaissent dans les composants d'une URL.

  • Paramètres de requête — encodez les valeurs passées en tant que paramètres de chaîne de requête, notamment les termes de recherche saisis par l'utilisateur
  • Requêtes API — encodez les segments de chemin et les paramètres lors de la construction programmatique d'URL d'API
  • Données de formulaire — encodez les données de formulaire avant de les ajouter aux URL dans les requêtes GET

Questions fréquentes

Quelle est la différence entre encodeURI et encodeURIComponent en JavaScript ?

encodeURI encode une URL complète et laisse intacts des caractères comme /, :, # car ils ont une signification structurelle dans les URL. encodeURIComponent encode un seul composant d'URL (comme la valeur d'un paramètre de requête) et encode en pourcentage ces caractères structurels également. Pour encoder les valeurs de paramètres individuels, utilisez toujours encodeURIComponent.

Pourquoi un espace apparaît-il parfois comme + au lieu de %20 ?

Le format application/x-www-form-urlencoded (utilisé dans les soumissions de formulaires HTML) encode les espaces avec + plutôt que %20. Il s'agit d'une convention héritée des premiers standards du web. Dans les chaînes de requête des formulaires HTML, + signifie espace ; dans d'autres contextes URL, %20 est utilisé. Les deux sont valides, mais le contexte détermine lequel utiliser.

Dois-je encoder l'URL entière ou seulement certaines parties ?

Encodez uniquement les composants individuels (segments de chemin, valeurs de paramètres de requête). Encoder l'URL entière encoderait également les caractères :, / et ? qui définissent la structure de l'URL, ce qui la briserait. La règle : encodez les valeurs, pas les caractères structurels qui forment l'URL.

Outils associés