Was ist der Zweck eines führenden Schrägstrichs in HTML-URLs?

17

Ich habe bemerkt , dass einige Blogs Beiträge haben Links Wert unter Verwendung von mit Start /in der href.

Beispielsweise:

<a href="/somedir/somepage.html">My Page</a>

Bedeutet das Anführen, /dass der Pfad vom Stammverzeichnis der Site aus beginnt?

Mit anderen Worten, wenn die Site-URL lautet www.mysite.com, lautet der effektive hrefWert www.mysite.com/somedir/somepage.html?

Wird diese Konvention in allen Browsern akzeptiert?

Jérôme Verstrynge
quelle
3
Unter Umständen finden Sie //somedomain.com/somedir/in einigen Links auch einen doppelten Schrägstrich : stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Antworten:

19

Es ist wichtig, eine URL mit einem zu beginnen, /damit die beabsichtigte URL anstelle der übergeordneten oder untergeordneten URL zurückgegeben wird.

Nehmen wir an, wenn Sie beim Browsen /cream-cakes/einen Link auf der Seite haben, der keinen blah.htmlSchrägstrich enthält, wird versucht, die Seite zu besuchen, /cream-cakes/blah.htmlwährend beim Schrägstrich davon ausgegangen wird, dass Sie die oberste Ebene angeben domain.com/blah.html.

Im Allgemeinen ist es am besten, /wenn Sie die Struktur Ihrer Website ändern, weil sie meiner Erfahrung nach freundlicher ist. Es gibt jedoch kein Richtig oder Falsch, wenn angenommen wird, dass die gewünschte Seite zurückgegeben wird.

Simon Hayter
quelle
11

Bedeutet das führende '/', dass der Pfad vom Site-Stammverzeichnis aus beginnt?

Technisch wird dies in Abschnitt 4.2 von RFC 3986 als "absolute Pfadreferenz" bezeichnet:

Eine relative Referenz, die mit einem einzelnen Schrägstrich beginnt, wird als absolute Pfadreferenz bezeichnet.

Es stellt sicher, dass der Pfad absolut zum Stammverzeichnis und nicht zum aktuellen Verzeichnis ist (als "Relativpfad" -Referenz bezeichnet). Siehe dies für eine ausführliche Diskussion darüber.

dan
quelle
Können Sie die Browserunterstützung für diese Art von Link ansprechen?
Stephen Ostermiller
2
@Stephen jeden Browser seit mindestens 1998 gemacht.
DisgruntledGoat
1
@ DisgruntledGoat: Wahrscheinlich viel früher. Tatsächlich würde ich mich auf die Nerven legen und einfach "jeden Browser jemals " sagen . Diese Syntax war von Anfang an Bestandteil des URL-Standards.
Ilmari Karonen
2

Das ist ein root-relativer Link. Es ist ein relativer Link (etwas ähnlich ../), aber er beginnt an der Wurzel der Site. Wenn eine Seite drei Ebenen tief auf der Site eine Verknüpfung mit dem Schrägstrich beginnt, bezieht sich der Rest des Pfads auf das Stammverzeichnis der Site.

Ein Vorteil dieser Form der Pfadangabe sind weniger Zeichen im Markup:

http://example.com/page.html

vs

/page.html

Ein weiterer Vorteil ist die Portabilität über Domainänderungen hinweg. Wenn beispielsweise example.comInhalte verschoben werden example.org, funktionieren root-bezogene Links weiterhin, vorausgesetzt, es wird derselbe Verzeichnisname bzw. dasselbe Verzeichnislayout verwendet. Besonders nützlich, wenn Sie Seiten lokal entwickeln und dann in das Web hochladen.

Wie bei anderen Pfadtypen - relative ( ../) und absolute ( http://...) - müssen auch hier die Links aktualisiert werden, wenn Dateien oder Verzeichnisse umbenannt oder verschoben werden.

Grant Palin
quelle
0

Dieses Tutorial zeigt an, dass die Antwort auf meine Frage ja ist.

Der effektive hrefWert ist in der Tat: www.mysite.com/somedir/somepage.html.

Jérôme Verstrynge
quelle