Ce n'est pas vraiment une question d'esthétique, mais bien une différence technique. Le répertoire qui y pense est totalement correct et explique à peu près tout. Voyons ça:
Vous êtes de retour à l'âge de pierre maintenant ou ne diffusez que des pages statiques
Vous avez une structure de répertoires fixe sur votre serveur Web et uniquement des fichiers statiques comme des images, du HTML, etc.
Un navigateur le demande /index.htm
, il existe et est remis au client. Plus tard, vous avez beaucoup - disons - de films DVD examinés et une page html pour chacun d'eux dans le /dvd/
répertoire. Maintenant, quelqu'un demande /dvd/adams_apples.htm
et il est livré parce qu'il est là.
Un jour, quelqu'un demande simplement /dvd/
- qui est un répertoire et le serveur essaie de comprendre quoi livrer. En plus des restrictions d'accès, etc. , il y a deux possibilités: montrer à l'utilisateur le contenu du répertoire (je parie que vous avez déjà vu ça quelque part) ou afficher un fichier par défaut (dans Apache est: DirectoryIndex: sets the file that Apache will serve if a directory is requested.
)
Jusqu'ici tout va bien, c'est le cas attendu. Cela montre déjà la différence de manipulation, alors allons-y:
À 5 h 34, vous avez fait une erreur lors du téléchargement de vos fichiers
(Ce qui est d'ailleurs complètement compréhensible.) Donc, vous avez fait quelque chose de complètement faux et au lieu de télécharger, /dvd/the_big_lebowski.htm
vous avez téléchargé ce fichier sous dvd
(sans extension) vers /
.
Quelqu'un a mis en signet votre /dvd/
liste de répertoires (bien sûr, vous ne vouliez pas créer et toujours mettre à jour cette astucieuse index.htm
) et visite votre site Web. Le contenu du répertoire est livré - tout va bien.
Quelqu'un a entendu parler de votre liste et tape /dvd
. Et maintenant c'est foutu. Au lieu de la liste de votre répertoire DVD, le serveur trouve un fichier avec ce nom et fournit votre fichier Big Lebowski.
Donc, vous supprimez ce fichier et dites au gars de recharger la page. Votre serveur recherche le /dvd
fichier, mais il a disparu. La plupart des serveurs remarqueront alors qu'il existe un répertoire avec ce nom et diront au client que ce qu'il cherchait est bien ailleurs. La réponse sera très probablement:
Status Code:301 Moved Permanently
avec Location: http://[...]/dvd/
Donc, ignorant totalement ce que vous pensez des répertoires ou des fichiers, le serveur ne peut gérer que de telles choses et - sauf indication contraire - décide pour vous de la signification de "slash or not".
Enfin après avoir reçu cette réponse, le client se charge /dvd/
et tout va bien.
Ça va? Non.
"Très bien" ne vous suffit pas
Vous avez une page dynamique où tout est transmis /index.php
et traité. Tout fonctionnait assez bien jusqu'à présent, mais tout cela commence à se sentir plus lentement et vous étudiez.
Bientôt, vous remarquerez que cela /dvd/list
fait exactement la même chose: la redirection vers /dvd/list/
laquelle est ensuite traduite en interne index.php?controller=dvd&action=list
. Une demande supplémentaire - mais pire encore! customer/login
redirige vers customer/login/
qui à son tour redirige vers l'URL HTTPS de customer/login/
. Vous finissez par avoir des tonnes de redirections HTTP inutiles (= demandes supplémentaires) qui rendent l'expérience utilisateur plus lente.
Très probablement, vous avez également un index de répertoire par défaut: index.php?controller=dvd
sans action
simplement charger en interne index.php?controller=dvd&action=list
.
Résumé:
S'il se termine par, /
il ne peut jamais s'agir d'un fichier. Aucun serveur ne devine.
Slash ou pas de slash sont des significations entièrement différentes. Il existe une différence technique / de ressources entre "barre oblique ou pas de barre oblique", et vous devez en être conscient et l'utiliser en conséquence. Tout simplement parce que le serveur charge probablement /dvd/index.htm
- ou charge les éléments de script corrects - lorsque vous dites /dvd
: il le fait, mais pas parce que vous avez fait la bonne demande. Ce qui aurait été /dvd/
.
L'omission de la barre oblique même si vous voulez dire que la version barrée vous donne une pénalité de requête HTTP supplémentaire. Ce qui est toujours mauvais (pensez à la latence mobile) et a plus de poids qu'une "jolie URL" - d'autant plus que les robots d'exploration ne sont pas aussi stupides que les SEO le croient ou veulent le faire croire;)