При такой конфигурации по умолчанию установки WordPress не кэшируются
По умолчанию, если вы ничего не измените ни в конфигурации Wordpress, ни в Varnish, все будет работать вместе вТаким образом, страницы Wordpress кэшируются в течение 120 секунд.Таким образом, настоящее кэширование возможно, но оно будет кратковременным и крайне неэффективным.
Ваши конкретные заголовки указывают, что кэширование не должно происходить.Они либо отправляются самим Varnish (мы все виновны в копировании, не задумываясь над тем, что он делает), либо плагином Wordpress (чаще плохим, чем хорошим).Не зная вашей конкретной конфигурации, трудно что-либо расшифровать.
Varnish - это прозрачный прокси-сервер для HTTP-кэширования.Это означает, что по умолчанию использует заголовки HTTP, которые отправляются бэкэндом (Wordpress), например Cache-Control
, чтобы принять решение о том, можно ли кэшировать ресурс и как долго.
Фактически Wordpress не отправляет связанные с кэшем заголовки, кроме как в нескольких определенных областях (страницы ошибок, регистрация POST
отправка и т. Д.).
Стандартный подход, изложенный здесь настраивает Varnish с самым высоким TTL.При этом:
Varnish понятия не имеет, когда вы обновляете содержимое статьи или меняете тему.Типичное решение этой проблемы заключается в использовании плагина аннулирования кэша, такого как Varnish HTTP Purge.
Требование плагина возникает из-за необходимости очищать кеш при изменении содержимого.
Предположим, вы обновляетеТекст WordPress страницы.Вы уже посещали ту же самую страницу, и она была помещена в кэш Varnish для хранения.Что произойдет при следующем посещении, так это то, что Varnish будет обслуживать всех следующих посетителей таким же, теперь устаревшим контентом.
Плагины Wordpress для Varnish, такие как Varnish HTTP Purge, подключатся кWordpress таким образом, что они будут инструктировать Varnish очищать кеш при обновлении страниц.Это их основная цель.
Такой подход (высокий TTL и очистка кэша) является де-факто стандартом для Varnish.Поскольку у Varnish нет информации о том, когда вы обновляете контент, внутренняя работа по очистке кэша связана с самим приложением.Функция очистки кэша либо встроена в сам код CMS (например, в Magento 2, он поставляется без коробки, без дополнительных плагинов), либо в плагин Wordpress.