Целесообразно ли использовать тег base и относительные адреса вместо абсолютных?

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

А замысел поста лишь затеить спор или дискуссию, ведь в споре рождается истина. Поэтому я надеюсь, что каждый прочитавший данный пост выскажет своей мнение в комментариях.

Я дам вам два кода ссылки на данную статью. Сначала абсолютная ссылка, которая используется на большинстве блогов и сайтов, в том числе и на данном:
http://sitestroyblog.ru/do-i-need-to-use-tag-base/

А теперь посмотрите на относительную ссылку:
do-i-need-to-use-tag-base/

Понимаете в чем разница? Если нет, то кратенько объясню. В абсолютной ссылке вместе с внутренним адресом страницы задается протокол и домен соответственно, в моём случае это http://sitestroyblog.ru/.

В относительной же ссылке этого не указывается, а отталкивается она от введенного в браузере адреса. То есть, если я размещу на данной странице ссылку

<a href="never-click-here.html">Ведёт в никуда</a>

то при наведении на неё в строке состояния браузера вы увидите ссылку вида

http://sitestroyblog.ru/do-i-need-to-use-tag-base/never-click-here.html

что естественно вызовет ошибку при переходе по ней.

Чтобы данного недочета избежать, существует тег base, который и задает адрес, от которого будут отталкиваться все относительные ссылки. Добавляется этот тег в блок <head></head> и выглядит следующим образом:

<base href="http://sitestroyblog.ru/" />

Вводную часть закончим и попробуем ответить на мой вопрос: целесообразно ли использовать тег base и относительные адреса вместо абсолютных?

Если говорить о моём мнение, то я считаю, что да, лучше использовать относительные ссылки. У них есть много плюсов.

1. Не придется каждый раз при указании внутренней ссылки добавлять протокол и домен. Если она выводится какой-либо функцией или переменной, то будет меньше обращений к ней, что немножко увеличит скорость загрузки сайта. Будет не очень заметно ускорение загрузки, но эффект всё же есть.

2. При смене домена уже довольно долго функционирующего сайта у меня возникла проблема с тем, что в постах домен оставался старый и пришлось редактироваться посты. Хорошо, что я хоть смог автоматизировать этот процесс. При использовании относительных ссылок такой проблемы не будет.

И ещё можно перечислить несколько плюсов при определенных условиях. Конечно, у них есть и минусы.

Например, если вводить в качестве адреса #comments, то при относительных ссылках и использовании вышеописанного тега я увижу конечный адрес http://sitestroyblog.ru/#comments, а не какой мы привыкли видеть. :)

Так какого ваше мнение, господа?

Мало кто при покупке матрацев для своей постели уделяет внимание его полезности и правильности. А ведь только ортопедические матрасы снижают нагрузку на позвоночник и обеспечивает нормальное кровообращение телу во время сна.

Вам также будет интересно почитать и следующие записи

7 комментариев

  • Never Lex:

    Если делаете нормальный проект, то побоку имхо. Наоборот я бы использовал абсолютные адреса. Чтоб наверняка.

    А нужен base для сателлитов, которые нужно тягать с места на место.

    А вообще обычно я в своих движках определяю в конфигах константу SITE_URL и все генерирующиеся ссылки прописываю, как type/link/.

  • Never Lex:

    Глупый парсер вырезал перед type/link/

  • Never Lex:

    Вот почему предпросмотр это хорошо :) Ну вы поняли что там :)

  • Сергей Фещуков:

    @ Never Lex, ну приблизительно я понял что там должно было быть :)
    Я сейчас пишу свой движок, я там использую относительные ссылки везде. Хотя, если уж выносить в массу CMS, то лучше дать пользователям выбор. :)

  • Назар:

    Мелочь, чтоб на такое обращать внимание

  • Сергей Фещуков:

    @ Назар, вся наша жизнь строится из мелочей. ;))
    А по сути, хотя это и мелочь, я думаю всё же, что каждой мелочи стоит уделять хотя бы минуту внимания. Когда-то это может привести к простой, но гениальной идее. :)

  • Uman:

    Я использую всегда относительные ссылки, очень удобно. Друг, например, всю жизнь создавал сайты на абсолютных и не жалуется :)

    Кстати, никто не знает команду для .htaccess, чтобы всем php-страничкам задавать «базу» без использования тега ?

  • Добавить комментарий