Jaki jest cel prowadzenia ukośników w adresach URL HTML?

18

Zauważyłem, że niektóre posty na blogach zawierają linki, których wartość zaczyna się /od href.

Na przykład:

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

Czy interlinia /oznacza, że ​​ścieżka zaczyna się od katalogu głównego witryny?

Innymi słowy, jeśli adres URL witryny to www.mysite.com, efektywna hrefwartość to www.mysite.com/somedir/somepage.html?

Czy jest to konwencja akceptowana we wszystkich przeglądarkach?

Jérôme Verstrynge
źródło
3
Możesz również znaleźć podwójny URL ukośnika, //somedomain.com/somedir/w niektórych linkach, który używa tego samego protokołu, który jest używany dla bieżącej strony, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/...
Hawken

Odpowiedzi:

19

Ważne jest, aby rozpocząć adres URL od / tak, aby zamierzony adres URL był zwracany zamiast nadrzędnego lub podrzędnego.

Powiedzmy, że jeśli podczas przeglądania /cream-cakes/masz link na stronie, który blah.htmlbez ukośnika będzie próbował odwiedzić stronę, /cream-cakes/blah.htmla ukośnik przy założeniu, że masz na myśli najwyższy poziom, który będziedomain.com/blah.html .

Zasadniczo najlepiej jest zawsze korzystać /z mojego doświadczenia, ponieważ jest bardziej przyjazne, gdy zmieniasz strukturę swojej witryny, chociaż nie ma dobrego ani złego założenia, że ​​zamierzona strona zostanie zwrócona.

Simon Hayter
źródło
12

Czy wiodące „/” oznacza, że ​​ścieżka zaczyna się od katalogu głównego witryny?

Technicznie jest wymieniony w sekcji 4.2 z RFC 3986 , jako „bezwzględnego odniesienia ścieżka”:

Odwołanie względne rozpoczynające się od pojedynczego ukośnika jest określane jako odniesienie do ścieżki bezwzględnej.

Zapewnia, że ​​ścieżka jest bezwzględna do katalogu głównego, a nie do katalogu bieżącego (określanego jako odniesienie do „ścieżki względnej”). Zobacz to, aby uzyskać szerszą dyskusję na ten temat.

dan
źródło
Czy możesz skierować obsługę przeglądarki dla tego typu linku?
Stephen Ostermiller
2
@Stephen każdą przeglądarkę kiedykolwiek stworzoną od co najmniej 1998 roku.
DisgruntledGoat
1
@DisgruntledGoat: Prawdopodobnie znacznie wcześniej. W rzeczywistości chciałbym iść na całość i powiedzieć „każda przeglądarka kiedykolwiek ”; ta składnia była częścią standardu URL od samego początku.
Ilmari Karonen
2

To jest link do katalogu głównego. Jest to link względny (nieco podobny do../ ), ale zaczyna się w katalogu głównym witryny. Jeśli strona o trzech poziomach w głębi witryny zaczyna link z ukośnikiem, pozostała część ścieżki będzie względna do katalogu głównego witryny.

Zaletą tej formy ścieżki jest mniej znaków w znacznikach:

http://example.com/page.html

vs

/page.html

Kolejną zaletą jest przenośność między zmianami domen. Jeśli example.comzawartość zostanie przeniesiona example.org, na przykład, linki względne do katalogu głównego będą nadal działać, zakładając, że użyto tego samego nazewnictwa / układu katalogu. Szczególnie przydatne, gdy programujesz strony lokalnie, a następnie przesyłasz je do sieci.

Podobnie jak w przypadku innych typów ścieżek - względnych ( ../) i bezwzględnych ( http://...) nadal podlega to aktualizacji łączy, gdy nazwy plików lub katalogów są zmieniane lub przenoszone.

Grant Palin
źródło
0

Ten samouczek wskazuje, że odpowiedź na moje pytanie brzmi „tak”.

Efektywna hrefwartość jest rzeczywiście: www.mysite.com/somedir/somepage.html.

Jérôme Verstrynge
źródło