Conservation des cas
Les URL respectent la casse , entre le client et le serveur. Mais certaines parties des URL peuvent ou non être sensibles à la casse , selon le serveur, pour deux raisons.
Sensibilité à la casse
Les parties en gras suivantes des URL peuvent être sensibles à la casse, selon le site et / ou la configuration du serveur.
http: // www. example.com /abc/def.ghi?jkl=mno#pqr
utilisateur @ exemple.com
Raisonnement
La casse dans les URL peut avoir plusieurs utilisations. Principalement:
- Compatibilité native avec les systèmes de fichiers sensibles à la casse.
- Encodage de données plus compact dans les URL, comme pour la sérialisation, le hachage, les ID, les permaliens et les raccourcisseurs d'URL.
En tant que développeur, je pense que ce qui précède peut souvent être géré de meilleures façons, mais je comprends également qu'il y a des cas où une situation peut ne pas le permettre.
Par exemple, imaginez un produit existant qui nécessite beaucoup de données placées dans l'URL "GET", mais il doit être compatible avec les longueurs d'URL maximales de tous les principaux serveurs, navigateurs et mécanismes de mise en cache / proxy. Pour s'adapter même à une chaîne de commande de longueur modérée (moins de 1 024 caractères pour certains navigateurs plus anciens), vous devez utiliser tous les caractères uniques sûrs pour les URL que vous pourriez (ce qui est fondamentalement le codage base64url).
Dans un monde idéal
La question de savoir si les URL doivent être sensibles à la casse est discutable. Personnellement, je pense qu'ils ne devraient pas l'être, pour plus de simplicité (bien que cela puisse créer des URL plus longues, nous avons des échappements en pourcentage pour gérer facilement les cas où nous devons garantir la préservation des caractères exacts, et il existe des moyens de transférer des données autres que directement dans l'URL) .
Beaucoup semblent être d'accord sur le fait que les URL insensibles à la casse sont explicitement activées pour de nombreux sites et services populaires, afin d'augmenter la convivialité. L'exemple le plus important est la partie nom d'utilisateur des adresses e-mail. La plupart des fournisseurs de messagerie ignoreront la casse et parfois même les points et autres symboles (comme "j.smith@example.com" étant le même que "JSMITH@example.com"). Même si les noms d'utilisateur de messagerie sont sensibles à la casse par défaut, selon les spécifications.
Cependant, le fait est que malgré ce que moi ou d'autres voudrions, c'est l'état de fonctionnement actuel. Et bien qu'une éventuelle transition mondiale vers une norme d'URL insensible à la casse soit certainement possible, cela prendrait probablement beaucoup de temps car la sensibilité à la casse est actuellement largement utilisée sur le Web à diverses fins.
Les meilleures pratiques
En ce qui concerne les meilleures pratiques, en tant qu'utilisateur, vous pouvez raisonnablement vous limiter aux minuscules pour la plupart des situations et vous attendre à ce que les choses fonctionnent. Les principales exceptions seraient les URL qui utilisent un codage basé sur la casse ou des chemins de document avec des équivalents directs de système de fichiers. Cependant, ces URL complexes sont généralement copiées-collées (ou simplement cliquées) plutôt que tapées manuellement.
En tant que développeur Web, vous devriez envisager de garder les URL aussi sensibles à la casse que possible. Bien qu'il existe clairement des situations difficiles à éviter, selon le contexte, comme indiqué ci-dessus.