Dois-je utiliser la casse du titre dans les URL?


9

Nous décidons actuellement d'une convention de dénomination cohérente sur un site avec plusieurs applications Web. Historiquement, j'ai été un défenseur des «minuscules toutes les lettres! lors de la création d'URL:

http://example.com/mysystem/account/view/1551

Cependant, au cours de la dernière année ou deux, en particulier depuis que j'ai commencé à utiliser ASP.NET MVC et que j'ai eu plus de relations avec les URL basées sur REST, je suis devenu un fan de la capitalisation de la première lettre de chaque section / mot dans l'URL au fur et à mesure qu'elle le fait. plus facile à lire (à mon humble avis).

http://example.com/MySystem/Account/View/1551

Nous ne sommes pas dans une situation où les gens ont besoin de lire ou de comprendre les URL, ce n'est donc pas un pilote en soi. L'essentiel que nous recherchons est une approche cohérente, rationnelle et logique.

Y a-t-il des normes qui déclarent qu'il est bon de faire d'une manière ou d'une autre, ou des problèmes que nous pouvons rencontrer dans des configurations (au moins réalistes) qui choisiraient une préférence plutôt qu'une autre? Quel est le consensus général pour ce débat actuellement?

Réponses:


10

Comme le choix est principalement cosmétique (c'est-à-dire que la plupart des systèmes ne font pas de différence entre les majuscules et les minuscules, et les utilisateurs ne le font certainement pas), je suggère donc de choisir celui qui vous rend heureux. La cohérence au sein de l'application est la clé , pas la manière que vous choisissez.

Lorsque vous utilisez ASP.Net, je vous recommande d'utiliser l'approche PascalCase - car c'est ce qui tend à exister dans le cadre de Microsoft (bibliothèques système, etc.) Mais il n'y a pas de "meilleures pratiques" autres que la cohérence.

La plupart des navigateurs masquent assez bien l'URL de l'utilisateur, à tel point qu'un grand nombre de personnes qui ont Google comme page d'accueil recherchent ensuite Facebook et cliquent dessus - plutôt que d'entrer l'URL de Facebook dans leur navigateur.


7
Mais le système fait la différence
ghoppe

1
Vous devez au moins mentionner que la sensibilité à la casse dépend de la configuration du serveur, donc cela vaut la peine d'être pris en compte, plutôt que d'indiquer à tort que le système ne fait pas de différence entre les majuscules et les minuscules.
jleach

@ jdl134679 terminé.
TZHX

4

Pour les sites Web internes, peu importe tant que vous y êtes cohérent.

Pour les sites externes, accessibles au public, vous voudrez probablement vous en tenir à des minuscules qui sont plus ou moins la norme dans l'hébergement Web Linux / Apache. Si je me souviens bien, certaines versions de Firefox semblent également gérer la casse des URL différemment d'IE. Cela peut également s'appliquer à Chrome.

La cohérence du boîtier est également importante pour l'optimisation des moteurs de recherche. Vous ne voulez pas que Google considère lower-case.aspx et Lower-Case.aspx comme des pages différentes avec du contenu en double. Bien que leurs algorithmes tentent d'empêcher cette identité erronée, cela arrive de temps en temps et peut entraîner la pénalisation d'une page.


2

Tant que les utilisateurs peuvent le taper comme ils le souhaitent, cela n'a vraiment pas d'importance. Personnellement, je préfère TitleCase, mais il y en a beaucoup qui ne sont pas d'accord. Si vous êtes cohérent, personne ne s'en souciera.

Si votre serveur Web ne peut pas, pour une raison quelconque, me montrer http://foo.com/HelloWorldquand j'essaye d'aller http://foo.com/helloworld, vous devriez opter pour tout en minuscules. Bien que les gens tapent rarement des URL complètes de nos jours, les adresses frontales doivent être accessibles sans avoir à jouer avec la capitalisation.


2

Le fait que vous ayez commencé à utiliser MVC ne doit pas "fuir" dans votre abstraction REST. Il y a de bonnes raisons d'utiliser toutes les URL en minuscules avec des tirets entre les mots. Les URI (pas les noms de domaine) sont sensibles à la casse. Si vous mettez tout en minuscules et utilisez des tirets pour séparer les mots, vous avez éliminé beaucoup de devinettes et de one-offs, et si vous utilisez un serveur proxy (nginx, nodejs, apache ...), tout ne commencera pas à se casser car il est soudainement sensible à la casse.

"MiXeD-CaSe NaMeS. Ne confondez pas vos utilisateurs en mélangeant les caractères majuscules et minuscules-dans-l'URL. Tenez-vous-en aux lettres minuscules et ne les faites pas deviner. Si votre utilisateur tape réellement une URL en casse mixte, la normalise sur le serveur et sert le cas approprié ".


1

Alors que les TLD ne sont pas sensibles à la casse et que les chemins Windows utilisent une combinaison de majuscules et de casse Pascal, nos applications sont sensibles aux chemins de demande entrants, où les chemins ou les composants qui s'y trouvent sont généralement normalisés à un cas standard, car /format/JSON/et /format/json/sont des demandes pour deux différents formats et référence deux ressources distinctes.

Chaque fois que j'ai vu http://www.somewebsite.com/Having/URLs/That-Look-Something-Like-This/ , j'ai eu l'impression que l'intention du développeur était principalement d'apparaître un peu différent du reste, mais ce n'est rien innover et cela n'aide pas non plus à améliorer la lisibilité, surtout maintenant que vous avez I et l , O et 0 , d'autres lettres en lice pour votre analyse.

Je ne suis au courant d'aucun consensus, je ne pense pas non plus qu'il devrait y en avoir un, car quelque chose d'aussi simple que de capitaliser uniquement certaines parties d'une URL pourrait avoir un impact positif sur la lisibilité et je suis sûr que quelqu'un, quelque part est déjà en train de se présenter avec des idées intéressantes quand il s'agit d'appliquer des majuscules aux URL.

Mais, à en juger par le fait que la plupart des serveurs Web fonctionnent sous Linux et que nous, les développeurs, finissons toujours par standardiser les données texte entrantes parce que l'entrée est sensible à la casse, je m'en tiens à la façon dont cela a été fait tout au long.


0

N'utilisez JAMAIS de casse de titre pour des raisons de convivialité! Imaginez combien de temps vous devriez passer et de clics à effectuer pour différentes URL de cas dans votre téléphone MOBILE !


Bien que sur mon iPhone, la casse du titre nécessite moins de touches supplémentaires que «-» ou «_».
BradS

Les smartphones modernes, au moins les téléphones Windows permettent de glisser à partir de la touche majuscules pour y parvenir en un seul coup
0fnt
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.