Объединение HTML, CSS и JavaScript в одном файле
Чтобы избежать дополнительных запросов со стороны браузера, можно включить непосредственно стилей и(ли) скриптов в сам HTML‑документ.
Здесь стоит остановиться на следующем моменте: если размер CSS‑ (или JavaScript‑) файла больше, чем 20% (и при этом больше 5 Кб в сжатом виде), лучше вынести его как отдельный компонент. Это позволит настроить его кэширование для постоянных пользователей вашего сайта.
Рассматривать включение всех ресурсов в исходную HTML‑страницу стоит только в том случае, если достаточно большой процент посетителей (больше 90%) пришли на нее в первый и (возможно) в последний раз. Тогда эта технология будет замечательно работать: кэширование ничего практически не даст, а дополнительные запросы к серверу замедлят загрузку страницы для новых, незнакомых со спецификой сайта посетителей (что может быть решающим фактором для их окончательного ухода).
Во всех остальных случаях – когда можно выделить достаточно большие ресурсные файлы или когда достаточное количество пользователей приходят не в первый раз – такой подход неприменим.
Как рабочий пример можно привести заглавные страницы Яндекса и Google – на них вызывается минимум внешних ресурсов, а стилевые правила включены в саму страницу.
Внутри или снаружи?
Давайте в качестве заключения рассмотрим следующий вопрос: стоит ли вообще подключать JavaScript‑ и CSS‑файлы или можно включить весь их код непосредственно в код страницы?
Использование подключаемых файлов на практике обычно дает более быстрые страницы, т. к. браузеры кэшируют файлы скриптов и CSS. JavaScript‑ и CSS‑код, который находится в HTML, загружается каждый раз при загрузке самого HTML‑документа. Это уменьшает количество необходимых HTTP‑запросов, но увеличивает объем HTML. С другой стороны, если скрипты и таблицы стилей находятся в отдельных файлах, закэшированных браузером, размер HTML уменьшается, не увеличивая при этом количество HTTP‑запросов (при повторных посещениях).
В таком случае ключевым фактором является частота, с которой кэшируются внешние JavaScript‑ и CSS‑файлы относительно количества запросов самого HTML‑документа. И хотя этот фактор очень сложно посчитать, его можно приблизительно оценить различными способами. Если пользователи во время одного посещения загружают страницу несколько раз или загружают похожие страницы, которые используют один и тот же код, – это именно тот случай, когда мы можем получить все преимущества от вынесения кода в отдельные файлы.
Многие сайты только наполовину удовлетворяют этим условиям. Для таких случаев в целом лучшим решением будет создание внешних файлов скриптов и таблиц стилей. Единственное исключение, которое можно здесь привести (когда прямое добавление кода дает большое преимущество) – это использование его на главных страницах, таких как главная страница Яндекса ( http://www.yandex.ru/ ), Рамблера ( http://www.rambler.ru/ ) или Google ( http://www.google.ru/ ). Для страниц, которые загружаются всего несколько (обычно – один) раз за весь сеанс, выгодней включать скрипты и таблицы стилей прямо в HTML‑документ, чтобы выиграть в скорости загрузки.
Для таких главных страниц, которые открываются первыми в ряду других с этого же сайта, существует возможность уменьшить число HTTP‑запросов еще и следующим образом: мы можем включить JavaScript и CSS в код самой страницы, однако после ее полной загрузки динамически подгружать внешние файлы стилей и скриптов для последующего использования (на стадии пост‑загрузки). При этом следующие страницы будут использовать уже закэшированные файлы.
Дата добавления: 2015-05-19; просмотров: 1627;