Ce n'est pas vraiment une question d'esthétique, mais bien une différence technique. Le répertoire qui y réfléchit est tout à fait correct et explique à peu près tout. Mettons-nous d'accord :
Vous êtes revenu à l'âge de pierre ou vous ne proposez que des pages statiques.
Vous disposez d'une structure de répertoires fixe sur votre serveur web et uniquement de fichiers statiques tels que des images, des fichiers html, etc.
Un navigateur demande /index.htm
il existe et est livré au client. Par la suite, vous avez beaucoup de films DVD, disons, examinés et une page html pour chacun d'entre eux dans le répertoire /dvd/
répertoire. Maintenant, quelqu'un demande /dvd/adams_apples.htm
et il est livré parce qu'il est là.
A un moment donné, quelqu'un demande juste /dvd/
- qui est un répertoire et le serveur essaie de savoir ce qu'il doit livrer. En plus des restrictions d'accès et autres, il y a deux possibilités : Montrer à l'utilisateur le contenu du répertoire (je parie que vous avez déjà vu cela quelque part) ou montrer un fichier par défaut (dans Apache c'est : DirectoryIndex: sets the file that Apache will serve if a directory is requested.
)
Jusqu'ici tout va bien, c'est le cas attendu. Elle montre déjà la différence de maniabilité, alors entrons dans le vif du sujet :
A 5:34am, vous avez fait une erreur en téléchargeant vos fichiers.
(Ce qui est d'ailleurs tout à fait compréhensible.) Donc, vous avez fait quelque chose de totalement faux et au lieu de télécharger /dvd/the_big_lebowski.htm
vous avez téléchargé ce fichier en tant que dvd
(sans extension) à /
.
Quelqu'un a ajouté votre /dvd/
(bien sûr, vous ne vouliez pas créer et toujours mettre à jour cette astucieuse liste d'adresses. 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 est en train de taper /dvd
. Et maintenant c'est foutu. Au lieu de la liste de votre répertoire de DVD, le serveur trouve un fichier avec ce nom et livre votre fichier Big Lebowski.
Donc, vous supprimez ce fichier et vous dites au gars de recharger la page. Votre serveur cherche le fichier /dvd
fichier, mais il a disparu. La plupart des serveurs remarqueront alors qu'il existe un répertoire portant ce nom et indiqueront au client que ce qu'il cherchait se trouve effectivement ailleurs. La réponse sera très probablement la suivante :
Status Code:301 Moved Permanently
avec Location: http://[...]/dvd/
Donc, en ignorant totalement ce que vous Si vous pensez à des répertoires ou à des fichiers, le serveur est le seul à pouvoir gérer ce genre de choses et - sauf avis contraire - décide pour vous de la signification de "slash ou non".
Enfin, après avoir reçu cette réponse, le client charge /dvd/
et tout va bien.
Est-ce que ça va ? Non.
"Juste bien" n'est pas assez bon pour toi.
Vous avez une page dynamique dans laquelle tout est passé à /index.php
et est traité. Tout fonctionnait très bien jusqu'à présent, mais l'ensemble commence à être plus lent et vous enquêtez.
Bientôt, vous remarquerez que /dvd/list
fait exactement la même chose : il redirige vers /dvd/list/
qui est ensuite traduit en interne en index.php?controller=dvd&action=list
. Une demande supplémentaire - mais encore pire ! customer/login
redirige vers customer/login/
qui à son tour redirige vers l'URL HTTPS de customer/login/
. Vous finissez par avoir tonnes de redirections HTTP inutiles (= demandes supplémentaires) qui ralentissent l'expérience de l'utilisateur.
Il est fort probable que vous ayez un index de répertoire par défaut ici aussi : index.php?controller=dvd
sans action
charges internes simples index.php?controller=dvd&action=list
.
Résumé :
-
S'il se termine par /
il peut jamais être un fichier. Pas de devinette de serveur.
-
Un slash ou pas de slash sont des significations totalement différentes. Il existe une différence technique/ressource entre "slash ou pas slash", et vous devez en être conscient et l'utiliser en conséquence. Ce n'est pas parce que le serveur charge très probablement /dvd/index.htm
- ou charge le script correct - quand vous dites /dvd
: Il le fait, mais pas parce que vous avez fait la bonne demande. Qui aurait été /dvd/
.
-
Omettre la barre oblique même si vous avez effectivement moyenne la version avec barre oblique vous donne une pénalité supplémentaire pour les requêtes HTTP. Ce qui est toujours mauvais (pensez à la latence mobile) et a plus de poids qu'une "jolie URL" - d'autant plus que les crawlers ne sont pas aussi bêtes que les SEOs le croient ou veulent vous le faire croire ;)