Universität-Gesamthochschule
Siegen
| Zur Orientierung: | Uni-GH Siegen | HTML Hilfeseite | Index | Hilfe |
|---|
Im allgemeinen führen beide URL-Angaben zum selben Resultat, die
entsprechende Index- bzw. Welcome-Datei vom Verzeichnis "/dir"
würde geladen.
Dennoch gibt es einen Unterschied, ob bei einer solchen URL-Angabe ein
Slash "/" am Ende angegeben wird oder nicht.
Wird ein Slash am Ende angegeben, also z.B. "http://www.domain.de/dir/",
wird auch direkt auf die Index-Page (z.B. index.html
oder welcome.html) zugegriffen und diese geladen.
Wird jedoch kein Slash am Ende der URL angegeben, wird zuerst
versucht auf eine Datei (in diesem Beispiel also "/dir") zugegriffen.
Der Server erkennt jedoch, daß "/dir" keine Datei sondern
ein Verzeichnis ist und sendet dem Browser einen Redirect
auf "/dir/". "Redirect" bedeutet hierbei, daß der Browser
bei seiner ersten Verbindung nur die Mitteilung für die richtige URL
bekommt und eine deshalb eine neue Verbindung aufbauen muß.
Abgesehen von einer unnötigen Netzbelastung durch den Aufbau einer neuen
Verbindung zum Server (TCP-Slowstart), ist insbesondere für
Nutzer mit langsamer Netzanbindung eine deutliche Zeitverzögerung beim
Laden der Seite bemerkbar.
Eine URL wie z.B. "http://www.domain.de/dir" stellt somit
keine gültige Adresse dar.
Nein, hier verhält sich die Sache anders, da ein Browser immer als
minimale Request-URL einen Slash "/" schicken sollte
(siehe HTTP-Spezifikationen), würde also sowohl bei
"http://www.domain.de", wie auch bei "http://www.domain.de/"
der Server direkt die Haupseite des Servers liefern.
Dies entspricht dem HTTP-Request "GET / HTTP/1.0".
Ein "Redirect" wird also nicht gesendet.
Im Prinzip sollte dies so sein, allerdings kommt es trotzdem manchmal zu Fehlern,
weil manche Browser unter bestimmten Umständen einen "Redirect" falsch
behandeln. Wurde z.B. die URL "http://www.domain.de/dir" angefordert,
aber vom Browser nicht korrekt umgesetzt, so würde ein relativer Link
auf z.B. die Seite "page.html" zur Browser-Anfrage
"http://www.domain.de/dirpage.html" führen, welche natürlich
fehlschlagen würde.
Weiterhin kann es bei einigen wenigen Servern zu Fehlern kommen, wenn auf
dem Server ein Verzeichnis komplett auf ein anderes umgemapped wird
(also ein mapping der URLs "/dir/*" auf
die URLs"/anderes/dir/*") und der Server dann vergißt
auch die URL "/dir" umzumappen.
Die angeforderte Seite würde in diesem Fall also erst gar nicht geladen.
Man sollte grundsätzlich bei der Erstellung von HTML-Dokumenten darauf
achten, korrekte URL-Angaben MIT SLASH am Ende zu verwenden, um
evtl. Probleme und Fehler zu vermeiden!
Der Nutzer wird es einem danken...
Kommentare bitte an Lars Eilebrecht (sfx@unix-ag.uni-siegen.de).