En quoi le codage de composants est-il différent de « tout coder » ?
Une URL n’est pas une grande chaîne que vous encodez aveuglément ; ce sont des parties avec des règles différentes. Une valeur qui appartient à un paramètre de requête nécessite un traitement différent de celui d'un segment de chemin, et le mélange de ces couches permet d'obtenir un lien qui fonctionne lorsqu'il est collé mais échoue lorsqu'il est construit par un modèle. Pour les équipes produit et marketing, le problème est une mise en ligne où la préparation a fonctionné parce que quelqu'un a tapé une URL conviviale, et la production a échoué parce qu'un SKU ou un nom de ville contenait un caractère que le routeur ou la passerelle lisait comme une structure. Une étape d'encodage en ligne d'un composant URI consiste à nommer quelle tranche est une valeur, quelle tranche est le chemin et quels caractères doivent devenir des pourcentages d'octets pour que la bonne couche reçoive la bonne signification. Un flux de travail en ligne gratuit de style encodeURIComponent est un outil pédagogique, pas une baguette magique, et c'est toujours un soulagement lorsqu'une fenêtre de lancement est petite et que la salle est pleine de personnes qui ont besoin d'un objet partagé vers lequel pointer, et non d'un débat sur qui a copié quoi dans un formulaire. La frustration vient du double encodage, l'erreur classique où une chaîne sûre passe par un deuxième passage et devient un déchet, ou l'inverse, où une barre oblique à l'intérieur d'une valeur est lue comme un saut de chemin et qu'un client se retrouve sur la mauvaise page. L’avantage est un examen plus calme, un transfert que vous pouvez déposer et une matrice de test réellement complète, mais pas presque complète. Si vous en avez assez des 404 qui vous semblent personnels, ajoutez d'abord une habitude de composant avant d'appeler un lien final, et vous trouverez moins de cas où un humain lit l'URL dans un deck pendant que le système lit autre chose. Lorsque vous êtes prêt, créez des paires clé-valeur en texte brut, encodez les valeurs en tant que composants, assemblez la base, puis la requête, puis testez, car l'ordre est important dans la façon dont certains frameworks enregistrent et réécrivent.
Comment utiliser l'encodage des composants URI
- Créez d'abord la liste des paires clé/valeur en texte brut, puis encodez chaque valeur en tant que composant, et non en tant qu'URL complète, à moins qu'un assistant ne prenne clairement en charge le mode URL complète.
- Assemblez le chemin de base sans encoder les barres obliques, puis ajoutez ? et la chaîne de requête codée, en surveillant une barre oblique manquante à la racine si votre application en nécessite une.
- Testez en effectuant un aller-retour via le décodage, caractère par caractère, pour vos pires noms de SKU et de ville, et non un échantillon en anglais uniquement lors d'une bonne journée de réseau dans un seul navigateur.