Какова цель добавления косой черты в URL-адресах HTML?

18

Я заметил , что некоторые блог Столбики имеют ссылки , используя значения , начиная с /в href.

Например:

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

Ведущий /означает, что путь начинается с корня сайта?

Другими словами, если URL-адрес сайта www.mysite.com, эффективное hrefзначение будет www.mysite.com/somedir/somepage.html?

Это соглашение принято во всех браузерах?

Жером Верстринг
источник
3
В //somedomain.com/somedir/некоторых ссылках вы также можете найти URL с двойной косой чертой, в котором используется тот же протокол, что и для текущей страницы, stackoverflow.com/questions/4978235/… stackoverflow.com/questions/4831741/…
Hawken

Ответы:

19

Важно начинать URL-адрес с /так, чтобы возвращаемый адрес возвращался вместо его родителя или потомка.

Скажем, если при просмотре у /cream-cakes/вас есть ссылка на странице, которая blah.htmlбез косой черты будет пытаться перейти на страницу, /cream-cakes/blah.htmlтогда как с косой чертой будет подразумеваться, что вы имеете в виду верхний уровень, который будет domain.com/blah.html.

Как правило, лучше всегда использовать /мой опыт, так как он более дружественный, когда вы меняете структуру своего сайта, хотя нет никаких правильных или неправильных предположений о том, что нужная страница возвращается.

Саймон Хейтер
источник
12

Означает ли начальный символ / путь, начинающийся с корня сайта?

Технически это упоминается в разделе 4.2 в RFC 3986 в качестве «ссылок абсолютного пути»:

Относительная ссылка, которая начинается с одного символа косой черты, называется ссылкой абсолютного пути.

Это обеспечивает абсолютный путь к корневому каталогу, а не к текущему каталогу (называется ссылкой «относительный путь»). Смотрите это для расширенного обсуждения этого.

дан
источник
Можете ли вы обратиться к поддержке браузера для этого типа ссылки?
Стивен Остермиллер
2
@ Стефен каждого браузера, созданного по крайней мере с 1998 года.
DisgruntledGoat
1
@DisgruntledGoat: Вероятно, намного раньше, чем это. На самом деле, я бы сказал, что "каждый браузер когда-либо "; этот синтаксис был частью стандарта URL с самого начала.
Илмари Каронен
2

Это корневая ссылка. Это относительная ссылка (в некотором роде ../), но она начинается в корне сайта. Если на странице на трех уровнях глубины сайта начинается ссылка с косой чертой, оставшаяся часть пути будет относиться к корню сайта.

Преимущество этой формы пути - меньше символов в разметке:

http://example.com/page.html

против

/page.html

Еще одним преимуществом является переносимость между изменениями домена. Если example.comсодержимое перемещено example.org, например, к корневым ссылкам, они все равно будут работать при условии, что используется то же наименование / расположение каталогов. Особенно полезно, если вы разрабатываете страницы локально, а затем загружаете их в Интернет.

Как и в случае с другими типами путей - относительным ( ../) и абсолютным ( http://...), при обновлении или перемещении файлов или каталогов все равно могут обновляться ссылки.

Грант Пэйлин
источник
0

Этот урок показывает, что ответ на мой вопрос - да.

Эффективное hrefзначение на самом деле: www.mysite.com/somedir/somepage.html.

Жером Верстринг
источник