2013-05-21 1 views
0

нужно знать, если какой подход включить CSS или JS лучше -Абсолютный против относительного URL для CSS и JS

<link href="http://www.mysite.com/css/style.css" rel="stylesheet" type="text/css"> 
or 
<link href="./style.css" rel="stylesheet" type="text/css"> 

Кто-то сказал мне, что если я использую абсолютный URL (включая http://www.mysite.com), то CSS или JS будет загружаться с сервера при каждой загрузке страницы.

Пожалуйста, помогите мне разобраться в этом.

ответ

2

Короткий ответ: это не имеет значения. Используйте какой бы стиль вы ни выбрали, просто старайтесь быть последовательным.

Длинный ответ:

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

Ничего из этого не имеет значения, потому что:

  • Браузеры настолько эффективны, что любая разница в производительности полностью спорно.
  • Беспокойство по оптимизации путей включения - это отвлечение, и вам лучше всего писать код.
2

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

Например, вы работаете на localhost по разработке и развертываете до example.com. У вас есть index.html, который загружает таблицу стилей по имени styles.css. Ваш абсолютный URL-адрес будет выглядеть так:

<link href="http://localhost/styles.css" type="text/css" /> 

Но это работает только на вашем локальном сервере. Но при развертывании ваша страница будет искать localhost - но вы уже на производственном сервере. Он сломается.

Относительные URL-адреса предоставляют путь к ресурсу относительно загруженной страницы. Это дает вам большую гибкость, особенно при перемещении страницы.

+1

«И FYI: все URL-адреса загружаются на каждую загрузку страницы. Как иначе они будут работать?» <- Это абсолютно неверно. Все современные браузеры кэшируют JS и CSS локально для часто посещаемых страниц. Скачайте один раз, при необходимости. Вы можете проверить это с помощью веб-инспектора; Chrome сообщает мне прямо сейчас, что три CSS-файла на этой странице были загружены из кеша в 0 мс. –

+0

@ DanM, может быть, я сформулировал это неправильно. обновление. – Joseph

3

Вы должны использовать относительную ссылку, так как ваш код не зависит от вашего домена. Например, если вы меняете свой домен, вам не нужно менять код.

Что ваш друг сказал вам, что это неверно, браузер загружает ваши CSS и js со своего сервера в любом случае, но он помещает его в кеш для последних целей. Поэтому он не загружается на всех страницах.

Смежные вопросы