2.3.1.5. Браузерное кеширование статики

Внимание!

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

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

  1. Напротив «Кеширование» укажите период хранения статических ресурсов в браузере клиента и сохраните изменения:
    Выберите 1, 3, 8 или 12 часов, 1 день, 1 неделя, 1, 3 или 6 месяцев, либо 1 год:
    Выберите «Свой вариант (в часах)» и укажите нужный период в часах:
  2. Подождите примерно 15-30 минут, пока изменения вступят в силу.

Настройка кеширования через панель управления задаёт единый период для всех типов статических файлов. Если для определённых типов файлов необходимо установить индивидуальные периоды кеширования, выполните следующее:

  1. Уберите из списка статических файлов расширения файлов, для которых хотите установить индивидуальный период кеширования.
  2. Пропишите директивы кеширования в файле .htaccess.

Примеры директив кеширования:

# кешировать файлы html и htm на сутки
<FilesMatch "\.(html|htm)$">
  Header set Cache-Control "max-age=43200"
</FilesMatch>
# кешировать файлы css и js на неделю
<FilesMatch "\.(css|js)$">
  Header set Cache-Control "max-age=604800"
</FilesMatch>
# отключить кеширование файлов txt и zip
<FilesMatch "\.(txt|zip)$">
  Header unset Cache-Control
</FilesMatch>
 
ExpiresActive On
# кеш по умолчанию 30 секунд
ExpiresDefault "access plus 30 seconds"
# кешировать файлы html и htm на сутки
ExpiresByType text/html "access plus 43200 seconds"
# кешировать файлы css и js на неделю
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
Содержание