Das ist nicht wirklich eine Frage der Ästhetik, sondern ein technischer Unterschied. Der Gedanke des Verzeichnisses ist völlig richtig und erklärt so ziemlich alles. Lassen Sie es uns ausarbeiten:
Sie sind jetzt wieder in der Steinzeit oder bieten nur statische Seiten an
Sie haben eine feste Verzeichnisstruktur auf Ihrem Webserver und nur statische Dateien wie Bilder, HTML und so weiter - keine serverseitigen Skripte oder ähnliches.
Ein Browser fordert /index.htm
existiert sie und wird dem Kunden zugestellt. Später haben Sie viele - sagen wir - DVD-Filme rezensiert und eine HTML-Seite für jeden von ihnen in der /dvd/
Verzeichnis. Nun fragt jemand /dvd/adams_apples.htm
und es wird geliefert, weil es da ist.
Eines Tages fragt jemand einfach nach /dvd/
- das ein Verzeichnis ist und der Server versucht, herauszufinden, was er liefern soll. Neben Zugangsbeschränkungen und so weiter gibt es zwei Möglichkeiten: Dem Benutzer den Inhalt des Verzeichnisses zeigen (ich wette, Sie haben das schon irgendwo gesehen) oder eine Standarddatei anzeigen (im Apache ist das: DirectoryIndex: sets the file that Apache will serve if a directory is requested.
)
So weit so gut, das ist der erwartete Fall. Es zeigt bereits den Unterschied in der Handhabung, also lassen Sie uns loslegen:
Um 5:34 Uhr haben Sie beim Hochladen Ihrer Dateien einen Fehler gemacht
(Was übrigens völlig verständlich ist.) Sie haben also etwas völlig Falsches getan und statt des Hochladens /dvd/the_big_lebowski.htm
Sie haben diese Datei hochgeladen als dvd
(ohne Erweiterung) an /
.
Jemand hat ein Lesezeichen für Ihre /dvd/
Verzeichnisliste (natürlich wollten Sie nicht dieses schicke Verzeichnis erstellen und ständig aktualisieren). index.htm
) und besucht Ihre Web-Site. Der Inhalt des Verzeichnisses wird geliefert - alles in Ordnung.
Jemand hat von Ihrer Liste gehört und tippt gerade /dvd
. Und jetzt ist sie im Eimer. Anstelle Ihres DVD-Verzeichnisses findet der Server eine Datei mit diesem Namen und liefert Ihre Big-Lebowski-Datei aus.
Sie löschen also diese Datei und sagen dem Benutzer, er solle die Seite neu laden. Ihr Server sucht nach der /dvd
Datei, aber sie ist verschwunden. Die meisten Server stellen dann fest, dass es ein Verzeichnis mit diesem Namen gibt, und teilen dem Client mit, dass das Gesuchte tatsächlich woanders liegt. Die Antwort wird höchstwahrscheinlich lauten:
Status Code:301 Moved Permanently
con Location: http://[...]/dvd/
Also, völlig ignorieren, was Sie denken Sie an Verzeichnisse oder Dateien, der Server kann nur mit solchen Dingen umgehen und entscheidet - sofern er nicht anders angewiesen wird - für Sie über die Bedeutung von "Schrägstrich oder nicht".
Nachdem er diese Antwort erhalten hat, lädt der Client schließlich /dvd/
und alles ist in Ordnung.
Ist das in Ordnung? Nein.
"Gerade gut" ist nicht gut genug für Sie
Sie haben eine dynamische Seite, auf der alles an /index.php
und wird verarbeitet. Bis jetzt hat alles ganz gut funktioniert, aber jetzt fühlt sich das Ganze langsamer an und Sie untersuchen es.
Bald werden Sie feststellen, dass /dvd/list
macht genau das Gleiche: Umleitung auf /dvd/list/
die dann intern übersetzt wird in index.php?controller=dvd&action=list
. Eine zusätzliche Anfrage - aber noch schlimmer! customer/login
leitet weiter zu customer/login/
die wiederum auf die HTTPS-URL von customer/login/
. Sie haben am Ende Tonnen von unnötigen HTTP-Umleitungen (= zusätzliche Anfragen), die die Nutzererfahrung verlangsamen.
Höchstwahrscheinlich haben Sie auch hier einen Standardverzeichnisindex: index.php?controller=dvd
ohne action
einfach innerlich belastet index.php?controller=dvd&action=list
.
Zusammenfassung:
-
Wenn er mit /
kann es niemals eine Datei sein. Kein Server-Raten.
-
Schrägstrich oder kein Schrägstrich sind völlig unterschiedliche Bedeutungen. Es gibt einen technischen/ressourcenbezogenen Unterschied zwischen "Schrägstrich oder kein Schrägstrich", und Sie sollten sich dessen bewusst sein und ihn entsprechend nutzen. Nur weil der Server höchstwahrscheinlich die /dvd/index.htm
- oder lädt das richtige Skriptmaterial - wenn Sie sagen /dvd
: Er tut es, aber nicht, weil Sie den richtigen Antrag gestellt haben. Die wäre gewesen /dvd/
.
-
Das Weglassen des Schrägstrichs, auch wenn Sie tatsächlich mittlere Bei der Version mit Schrägstrich gibt es eine zusätzliche Strafe für HTTP-Anfragen. Was immer schlecht ist (man denke an die Latenzzeit auf dem Handy) und mehr Gewicht hat als eine "hübsche URL" - zumal Crawler nicht so dumm sind, wie SEOs glauben oder glauben machen wollen ;)