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?


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.


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.


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.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.