INTEGRITY Документация

Настройка поведения кеша с помощью Workers

Вы можете использовать Workers чтобы настроить поведение кеша в сети Cloudflare. Workers работают как промежуточный уровень в жизненном цикле запроса: один Worker обрабатывает и фазу запроса, и фазу ответа. Когда поступает запрос, он сначала попадает в Worker, а уже потом проверяется кеш. Worker может изменить входящий запрос (например, переписать URL или добавить заголовки), а затем вызвать fetch() чтобы запрос продолжил проходить через кеш. Когда ответ возвращается (из кеша или с исходного сервера), Worker также может изменить его перед отправкой посетителю.

На приведённой ниже диаграмме показан типичный поток взаимодействия между Workers и Cache.

Пример диаграммы потока между Workers и кэшем.
  1. Посетитель (a) запрашивает URL-адрес, и этот запрос направляется к Worker. Затем Worker может взаимодействовать с запросом, либо запрашивая контент с исходного сервера с помощью (b) fetch() или отправкой посетителю ответа (f).
  2. Если контент кеширован, кеш отправляет ответ (e) обратно в Worker, который может изменить ответ перед отправкой ответа (f) обратно посетителю.
  3. При использовании cache rules с Workers правило кэширования должно соответствовать свойствам URL в fetch() (b), таких как заголовки, имя хоста или путь URL, а не исходный URL/хост посетителя (a). В противном случае правило не будет применено.

Ниже приведены несколько примеров того, как Workers можно использовать для настройки поведения кеша:

Также можно использовать Snippets для лёгких изменений, таких как изменение заголовков, редиректы и проверка JWT, без развёртывания полноценного скрипта Worker. Snippets включены без дополнительной оплаты во все платные планы, но имеют более строгие ограничения по ресурсам (5 мс времени выполнения, 32 КБ размера пакета).

Функции кеша в Workers

Workers предлагает два способа взаимодействия с кэшем. Используйте fetch() когда ваш Worker выполняет подзапросы к источнику. Используйте Cache API, если Worker формирует ответы без источника на бэкенде.

Подробнее о взаимодействии Cache и Workers см. Кеш в Workers.