Analyseur d'URL
Les URL (Uniform Resource Locators) identifient les ressources sur le web. Cet outil décompose les URL en leurs parties constituantes : schéma, hôte, port, chemin, paramètres de requête et fragment. Il décode automatiquement les valeurs encodées en pourcentage, gère les noms de domaine internationalisés (IDN) avec conversion Punycode et peut détecter des données intégrées comme du Base64 ou du JSON dans les paramètres.
Specifications
Cas d'utilisation courants
- Déboguer les URL de redirection OAuth 2.0 et les paramètres de callback
- Inspecter les URL de webhooks et leurs paramètres de requête
- Analyser les paramètres de suivi (UTM, données de référent)
- Décoder les liens profonds mobiles (app://, schémas personnalisés)
- Dépanner les problèmes de routage d'URL
- Convertir les noms de domaine internationalisés entre Unicode et Punycode
Fonctionnalites
- Analyser tous les composants d'URL (schéma, hôte, port, chemin, requête, fragment)
- Décoder automatiquement les valeurs encodées en pourcentage (encodage URL)
- Analyser la chaîne de requête en paires clé-valeur
- Convertir les noms de domaine internationalisés (IDN) entre Unicode et Punycode
- Détecter et décoder le Base64 ou JSON dans les valeurs de paramètres
- Copier les composants individuels dans le presse-papiers
Exemples
Callback OAuth
Essayer →Un callback d'autorisation OAuth 2.0 avec paramètres code et state.
https://app.example.com/callback?code=abc123&state=xyz789&redirect_uri=https%3A%2F%2Fexample.comDomaine internationalisé (Punycode)
Essayer →Une URL avec un nom de domaine encodé en Punycode (le préfixe xn-- indique un IDN).
https://xn--mnchen-3ya.de/pathDomaine internationalisé (Unicode)
Essayer →Une URL avec un nom de domaine Unicode qui sera converti en Punycode.
https://münchen.de/pathConseils
- L'encodage en pourcentage remplace les caractères non sûrs par %XX où XX est la valeur hexadécimale.
- Le fragment (#) n'est jamais envoyé au serveur ; il est uniquement côté client.
- Les paramètres de requête peuvent apparaître plusieurs fois avec la même clé.
- Certains caractères comme @ et : dans les informations utilisateur nécessitent un encodage.
- Utilisez encodeURIComponent() pour les valeurs de paramètres, encodeURI() pour les URL complètes.
Comprendre Analyseur d'URL
Les URL (Uniform Resource Locators) sont le système d'adressage du web, définies par la RFC 3986 comme un type spécifique d'URI (Uniform Resource Identifier). Une URL se compose de plusieurs composants : un schéma (protocole comme https), une autorité (hôte, port optionnel, informations utilisateur optionnelles), un chemin, une chaîne de requête optionnelle de paramètres clé-valeur et un identifiant de fragment optionnel.
L'encodage en pourcentage (encodage URL) est le mécanisme pour représenter les caractères spéciaux dans les URL. Les caractères en dehors de l'ensemble non réservé (A-Z, a-z, 0-9, -, _, ., ~) doivent être encodés en %XX où XX est la valeur hex de l'octet. Les espaces deviennent %20 (ou + dans les chaînes de requête). Les caractères non-ASCII sont d'abord encodés en octets UTF-8, puis chaque octet est encodé en pourcentage.
Les chaînes de requête transportent les paramètres sous forme de paires clé=valeur séparées par des caractères &. Les applications web les utilisent pour les termes de recherche, la pagination, le filtrage, le tri et le suivi (paramètres UTM). Les URL de redirection OAuth 2.0 transportent les codes d'autorisation et les jetons d'état dans les paramètres de requête. Les valeurs complexes peuvent elles-mêmes être encodées en URL, créant des couches d'encodage qui nécessitent un décodage soigneux.
Les noms de domaine internationalisés (IDN) utilisent l'encodage Punycode (RFC 3492) pour représenter les caractères non-ASCII dans les noms de domaine. Le préfixe xn-- signale une étiquette encodée en Punycode. Par exemple, münchen.de devient xn--mnchen-3ya.de. Cet encodage assure la compatibilité avec le système DNS uniquement ASCII tout en prenant en charge les noms de domaine dans n'importe quel script.
JavaScript fournit deux fonctions pour l'encodage URL qui servent des objectifs différents. encodeURI encode un URI complet, préservant les caractères qui ont une signification structurelle dans les URL (comme : / ? # @ et =). encodeURIComponent encode un seul composant d'URI comme une valeur de paramètre de requête, encodant tous les caractères spéciaux y compris / et &. Utilisez encodeURIComponent pour les valeurs de paramètres et encodeURI uniquement lors de l'encodage d'une URL complète. L'identifiant de fragment (tout après #) est défini par la RFC 3986 comme étant uniquement côté client — les navigateurs l'utilisent pour la navigation intra-page et le routage côté client dans les applications monopage, mais il n'est jamais inclus dans les requêtes HTTP envoyées au serveur.
Punycode est l'encodage qui rend possibles les noms de domaine internationalisés au sein du système DNS uniquement ASCII. Les domaines contenant des caractères non latins sont stockés dans le DNS en utilisant Punycode avec un préfixe xn--, donc münchen.de est stocké comme xn--mnchen-3ya.de. Les navigateurs affichent la forme Unicode aux utilisateurs tout en utilisant la forme Punycode pour la résolution DNS en arrière-plan.
Les chaînes de requête peuvent contenir plusieurs valeurs pour le même nom de paramètre, comme ?color=red&color=blue. Différents frameworks gèrent cela différemment — certains retournent la dernière valeur, certains la première, et certains retournent un tableau de toutes les valeurs. Cet outil affiche toutes les occurrences de paramètres. En JavaScript, URLSearchParams.getAll() récupère toutes les valeurs pour une clé répétée plutôt que seulement la première ou la dernière.