Je pense aux noms et aux éléments contenant des caractères accentués.
Par exemple, y a-t-il une différence entre:
<a href="http://example.com/thing?name=forêt">link</a>
et
<a href="http://example.com/thing?name=for%C3%AAt">link</a>
?
Les navigateurs gèrent-ils les mêmes? Ou existe-t-il une raison impérieuse d'encoder ces liens?
Les navigateurs gèrent-ils les mêmes?
Oui, tous les navigateurs (modernes) les traitent de la même manière. Dans ce cas, tous les navigateurs (modernes) codent implicitement l’URL (c’est-à-dire un pourcentage) de l’URL si vous ne le faites pas explicitement vous-même dans la source HTML.
Dans les deux cas, le navigateur demande implicitement l'URL codée en pourcentage lorsqu'un utilisateur clique sur le lien. Sélectionnez "Copier l'adresse du lien" dans le menu contextuel du navigateur et copiez l'URL codée en pourcentage dans les deux cas. La lecture de l'attribut href
des deux liens à l'aide de JavaScript renvoie l'URL codée en pourcentage.
En fait, je pense que HTML5 autorise les caractères unicode non codés:
https://stackoverflow.com/a/19542940/369434
Un problème potentiel pourrait bien être "les anciens navigateurs". Quel âge je ne sais pas. Mais "vieux" est peut-être trop vieux pour s’inquiéter. (?)
Le W3C indique que les adresses URL ne peuvent être envoyées que sur Internet à l'aide du jeu de caractères ASCII. Vous devrez convertir ces personnages en quelque chose. Les gens remplacent souvent les caractères non sécurisés par leur forme% codée. Une référence codée en pourcentage peut être trouvée ici .
Voici la référence: http://www.w3.org/Addressing/URL/4_URI_Recommentations.html