Comment fonctionne l'encodage d'URL
L'encodage en pourcentage (aussi appelé encodage d'URL) remplace les caractères non sûrs par un signe % suivi de deux chiffres hexadécimaux représentant la valeur de l'octet. Par exemple, un espace devient %20 et é (U+00E9) devient %C3%A9 en UTF-8. Cela permet à n'importe quel caractère Unicode d'apparaître en toute sécurité dans une URL.
Les deux fonctions JavaScript se comportent différemment. encodeURIComponent est la plus stricte : elle encode tout sauf les lettres, chiffres et - _ . ! ~ * ' ( ). Utilisez-la pour les valeurs de chaîne de requête et les segments de chemin. encodeURI est permissive : elle laisse les caractères structurels : / ? # [ ] @ ! $ & ' ( ) * + , ; = intacts car elle suppose que vous passez une URL complète.
Le mode analyseur d'URL utilise l'API URL intégrée au navigateur (standard WHATWG URL) pour décomposer toute URL valide en protocole, hôte, chemin, paramètres de requête et fragment — affiché sous forme de tableau pour une inspection facile.
Sources
La syntaxe d'URL et l'encodage en pourcentage sont formellement définis dans la RFC 3986 — Identificateur de ressource uniforme (URI) : Syntaxe générique (T. Berners-Lee, R. Fielding, L. Masinter, janvier 2005, rfc-editor.org/rfc/rfc3986). La section 2.1 définit l'encodage en pourcentage ; la section 3 définit la syntaxe URI générique (schéma, autorité, chemin, requête, fragment). L'analyseur d'URL utilise le standard WHATWG URL implémenté nativement dans tous les navigateurs modernes.
Ce qui est là — et ce qui ne l'est pas
Encodage/décodage bidirectionnel, une explication claire de quand utiliser encodeURIComponent vs encodeURI, correction Unicode, un bouton d'inversion et un analyseur d'URL qui décompose toute URL en un tableau propre de composants incluant tous les paramètres de requête individuellement.
Ce qui n'est pas là : l'encodage par lot de plusieurs valeurs à la fois, un constructeur de chaîne de requête (construire une URL depuis zéro en remplissant des champs) ou la comparaison côte à côte des modes d'encodage. Ces fonctionnalités seraient utiles mais ajoutent assez de complexité UI pour appartenir à un outil plus spécialisé.