Просмотров: 7638 (Статистика ведётся с 06.02.2017)

Внимание! С версии 16.0.14 главного модуля данный вид кеширования устарел и заменён технологией Композитный сайт. При использовании редакции Первый сайт необходимо очистить кеш компонентов.
С версии 18.0.5 Композитный сайт недоступен для "Битиркс24 в коробке".

HTML кеш

Примечание: HTML кеширование не поддерживается на многосайтовости на разных доменах.

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

Для таких проектов рекомендуется использовать режим HTML кеширование вместо Автокеширования. В этом случае не происходит подключения PHP и дисковые подсистемы менее нагружены. Технология проста в эксплуатации, не требует от пользователя отслеживать изменения, защищена дисковой квотой от накрутки данных и самостоятельно восстанавливает работоспособность при превышении квоты или изменении данных. HTML кеширование работает в автоматическом режиме AJAX с компонентами 2.0.

Ограничения в использовании: Не рекомендуется включать HTML кеш (или включать обдуманно, по разделам) для проектов, которые используют Веб-аналитику и модуль Рекламы.

При включенном HTML-кешировании происходят следующие процессы:

  • Обрабатываются только страницы, не указанные в маске исключения и указанные в маске включения.
  • Если на такие страницы заходит не авторизованный пользователь, то выполняется проверка существования файла кеша. И если файл найден, то выдается страница из кеша. В этом случае не будет работать модуль статистики (не засчитаются хиты этого пользователя), модуль рекламы, главный и другие модули.
  • Если страница в кеше не найдена, то код исполняется в обычном режиме. Когда страница полностью сформирована, ее копия сохраняется в HTML-кеш;
  • Если на момент включения кеша был установлен модуль Компрессии, то страница будет отдаваться в сжатом виде.

Очистка кеша происходит:

  • Автоматически, если сохраняемый объем приводит к превышению дисковой квоты кеша.
  • При любом изменении данных в административной части системы происходит полная очистка кеша.
  • Если в публичной части сайта происходит POST данных (например, добавление комментария или голосование). В этом случае сбрасывается соответствующая часть кеша.

Для неавторизованных пользователей происходит удаление сессии при переходе на закешированные страницы. В результате этого:

  • Не ведется учет статистики.
  • Модуль Реклама будет работать только в момент создания кеша. (Это не относится к внешней динамической рекламе (Begun и пр.).)
  • Для неавторизованных пользователей результаты сравнения товаров не будут сохранены.

Рекомендуется обязательно задать дисковую квоту в настройках HTML-кеширования во избежание DOS-атаки по дисковому пространству.

После включения механизма HTML-кеширования необходимо проверить весь функционал раздела, к которому применен кеш: например, может не сработать публикация комментариев со старыми шаблонами блогов.

Управление HTML-кешированием

Управление HTML кешем располагается на закладке HTML кеш:

Закладка "HTML кеш"

  • Маска включения - указываются файлы и типы файлов, которые будут обрабатываться html кешем.
  • Маска исключения - указываются файлы и типы файлов, которые не будут обрабатываться html кешем.
  • Дисковая квота (мегабайт) - указывается дисковая квота кеша (задается в мегабайтах).

Для сохранения настроек используется кнопка Сохранить настройки HTML кеша.

Для установки значений параметров равными значениям по умолчанию используется кнопка Установить настройки по умолчанию.

Примечание: Файлы настроек и сами файлы кеша хранятся в папке /bitrix/html_pages/. Удаление этой папки и её содержимого не приведёт к сбою в работе системы, просто сбросятся настройки и сбросится сам кеш.

Почему может не работать HTML кеш?

Суть работы HTML кеша заключается в том, что он работает только для пользователя "впервые" зашедшего на сайт, у которого нет ID сессии. То есть например, если администратор вышел из системы, то HTML кеш работать не будет. Следовательно, если на странице есть функционал, который не может работать без старта сессии, то на таких страницах не будет работать этот вид кеширования. Пример такого функционала - CAPTCHA.

Примечание: если компонент CAPTCHA размещён в шаблоне сайта, то кеширование не будет работать для всего сайта.

Проверить работает или нет HTML-кеширование на какой-то конкретной странице можно добавив в URL страницы параметр ?show_page_exec_time=Y. Если внизу страницы появится надпись типа Время создания страницы: 0.****сек., то значит кеширование не работает. (Рекомендуется делать это в режиме инкогнито.)


13


Курсы разработаны в компании «1С-Битрикс»