Почему некоторые профессиональные веб-дизайнеры используют абсолютные пути вместо относительных (например, для CSS, Javascript, изображений и т. Д.)? - PullRequest
12 голосов
/ 04 августа 2010

Раньше я думал, что все использовали относительные пути (например, /styles/style.css).Но мне интересно, почему некоторые популярные веб-дизайнеры (например, http://www.getfinch.com и http://31three.com/) используют абсолютные пути (http://example.com/styles/style.css).

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

Ответы [ 13 ]

9 голосов
/ 04 августа 2010

Оба из них используют ExpressionEngine CMS, вероятно, CMS связывает таблицы стилей.

Но на самом деле это просто вопрос предпочтений.Лично я использую относительный корень /css/main.css, потому что таким образом, если я работаю локально + автономно, мне не нужно беспокоиться о переключении константы WEB_ROOT на локальную (меньше хлопот + короче).Единственный случай, который я вижу для абсолюта, это если домен использует CDN (сеть доставки контента) и домен отличается от исходного домена.

2 голосов
/ 04 августа 2010

Относительные пути
Я не думаю, что либо имеет слишком большое значение. Использование относительных путей проще при работе в автономном режиме и последующей загрузке веб-сайта.

Кроме того, если вы когда-нибудь смените домен и захотите сохранить свой сайт. Вам нужно будет только изменить абсолютные ссылки, на которые вы ссылались, относительные ссылки будут работать очень хорошо.

Абсолютные пути
Браузер может загрузить только 2 файла с сервера в любой момент времени. Кроме того, пока он загружает JavaScript, он больше ничего не загружает. Таким образом, чтобы обойти ограничение в 2 файла, многие люди используют субдомены. вроде: http://css.example.com/style.css - это для увеличения скорости загрузки страницы. Вы не можете достичь этого эффекта, используя относительные URL.

Единственное место, где вам нужно быть осторожным с вашими абсолютными путями, - это когда вы делаете вызовы AJAX. Если вы жестко запрограммировали свой javascript, вызов URL: http://www.example.com/ajaxfile.php - вызов AJAX будет работать нормально с http://www.example.com/index.php, но не с http://example.com/index.php - та же политика происхождения.

2 голосов
/ 04 августа 2010

Хорошая тема в Google Webmaster Central ... Обсуждается перспектива сканирования Google и простота миграции.

Относительный путь против Абсолютного пути

1 голос
/ 04 августа 2010

Я думаю, что некоторые правила перенаправления Apache имеют проблемы с относительными путями. Выбор абсолютного пути гарантирует попадание файла .htaccess.

1 голос
/ 04 августа 2010

Я думаю, что это только вопрос предпочтений.Я предпочитаю относительные URL-адреса, потому что при смене (под) доменов менять не составит труда.Но если у вас есть CMS или блог, он обычно обрабатывает это для вас в любом случае (например, {SITE_URL}/path/to/page).

1 голос
/ 04 августа 2010

Я бы сказал, либо личные предпочтения (скорее всего), либо переносимость: если ваши файлы ссылаются на полностью определенный URL, вам не нужно включать эти файлы при использовании html в другом месте, он будет продолжать извлекать данные с удаленного сайта..

Это зависит больше от платформы, чем что-либо еще в моем опыте, например .Net использует ~/ для корня приложения, который отображает как /path/file.css в HTML, просто потому, что это простой путь для рендерингасо стороны кода ... путь сделки наименьшего сопротивления там.

Другой случай может быть, если вы загружаете вещи из другого домена, например, sstatic.net здесь, у вас действительно нет выбора, он должен быть полностью квалифицирован.

0 голосов
/ 04 августа 2010

Если ваша страница вызывается по протоколу https, любой относительный путь css также будет вызываться по протоколу https.Вы действительно должны зашифровать / расшифровать содержимое CSS?: D

Однако, если вы используете абсолютный путь со ссылкой на внешний css, вы можете указать используемый протокол, обычно http, а не https.

0 голосов
/ 04 августа 2010

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

0 голосов
/ 04 августа 2010

Некоторые люди даже скажут, что пути, начинающиеся с корня домена (например, /styles/style.css), являются абсолютными (и, следовательно, проблематичными).

Вот в чем дело: и абсолютные / полностью определенные схемы и относительныесхемы решают проблемы, связанные с тем, что происходит, когда вы перемещаете вещи.Но они решают разные проблемы.С полностью относительной схемой вы можете переместить все , связанное с документом, по другому пути на сервере, и вы ничего не сломаете.С полностью квалифицированным (и некоторыми абсолютными схемами) вы можете перемещать любой отдельный документ вокруг и не разбивать вещи.

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

0 голосов
/ 04 августа 2010

Также, иногда, если код находится на стороне сервера, может существовать переменная, которая печатает полный URL-адрес.Если я правильно помню, обычно в темах WordPress именно так они выводят правильный каталог.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...