Увеличение быстродействия сайта. Правило 3: добавление заголовка Expires или Cache-Control

К этому правилу есть два аспекта:

  • Для статичных компонентов: используйте принцип “без срока давности”. Устанавливайте время истечения срока давности заголовка Expires в далёкое будущее.
  • Для динамичных компонентов: используйте соответствующий заголовок Cache-Control для того, чтобы помочь браузеру с условными запросами.


Дизайн web страниц становится всё богаче и богаче. Это значит что на странице присутствует всё больше скриптов, изображений и флэша. Посетитель, который зашёл на вашу страницу впервые — создаёт несколько HTTP запросов. Используя заголовок Expires можно скэшировать запрашиваемые браузером компоненты страницы. Этот подход поможет избежать ненужных HTTP запросов на последующие просмотры страниц сайта. Заголовки Expires чаще всего используются с изображениями, но их  следует использовать со всеми компонентами, — включая скрипты, таблицы стилей и флэш.

Браузеры и прокси серверы используют кэш для уменьшения количества и размера HTTP запросов, делая загрузку страниц более быстрой. Web сервер использует заголовок Expires в HTTP запросе для того чтобы сообщить клиенту как долго этот компонент может храниться в кэше. Вот пример заголовка Expires установленного в далекое будущее, который говорит браузеру что запрос не устареет до 23 апреля 2012 года.

Expires: Mon, 23 Apr 2012 20:00:00 GMT

Однако помните, что если вы устанавливаете заголовок Expires в далекое будущее то, как только вы изменили этот компонент страницы вам следует также изменить его имя файла. К примеру, если изменился файл jquery_1.0.1.js то название файла также следует сменить — jquery_2.0.3.js.

Установка заголовка Expires в далёкое будущее оказывает влияние только на просмотр страниц, которые были уже посещены. Это не приносит никакого эффекта, если пользователь посетил ваш сайт впервые и его кэш в браузере пуст. Поэтому на увеличение производительности сайта оказывает то, как часто пользователь заходит на страничку с полным кэшем (“полный кэш” уже содержит все компоненты страницы). Количество пользователей, которые заходят на популярный сайт с полным кэшем может доходить до 75-85%. Устанавливая заголовок Expires в далекое будущее можно повысить количество компонентов, которые будут скэшированы браузером и использованы им для последующих просмотров страниц. В этом случае через интернет соединение не будет отправлено ни единого байта.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>