← Cloudflare Cache / cache / how-to
Cache Response Rules
Cache Response Rules позволяют настраивать параметры кеша на основе атрибутов запроса и ответа. Эти правила выполняются перед кешированием в http_response_cache_settings фазы, которая выполняется после получения Cloudflare ответа от источника.
С помощью Cache Response Rules можно:
- Изменить
Cache-Controlдирективы, отправленные вашим источником. - Изменить теги кеша в ответах для целевой очистка кеша.
- Удаление заголовков (
ETag,Set-Cookie,Last-Modified) из ответов источника перед кэшированием.
Cache Response Rules применяются как к кешируемым, так и к некешируемым (динамическим) ответам источника. Например, вы можете удалять заголовки Set-Cookie из ответов, которые не подлежат кешированию.
Cache Response Rules можно создавать в панель управления, через API, или Terraform.
Доступность
В следующей таблице описана доступность Cache Response Rules по тарифным планам.
| Free | Pro | Business | Enterprise | |
|---|---|---|---|---|
| Доступность | Да | Да | Да | Да |
| Количество правил | 10 | 25 | 50 | 300 |
Устранение неполадок
При устранении неполадок с Cache Response Rules используйте Cloudflare Trace чтобы определить, срабатывает ли правило для конкретного URL.
Связь с Cache Rules
Cache Response Rules работают с ответом источника, тогда как Cache Rules действуют на входящий запрос. Если настройки обоих типов правил конфликтуют, приоритет имеют правила Cache Response Rules.
Ключевые различия:
- Допустимость кеширования: Cache Rules остаются единственным механизмом, определяющим, подлежит ли контент кешированию. При этом Cache Response Rules могут сделать кешируемый ресурс некешируемым, задав
no-storeдирективу с помощьюset_cache_controlдействие. - Origin Cache Control (OCC): Если любое правило в
http_response_cache_settingsфазы совпадает, Cloudflare по умолчанию использует поведение Origin Cache Control (origin_cache_control = true). - Приоритет CDN-Cache-Control:
Cache-Controlдирективы, заданные Cache Response Rules, имеют приоритет надCloudflare-CDN-Cache-ControlиCDN-Cache-Controlзаголовки. Дополнительную информацию см. в Приоритет заголовка CDN-Cache-Control. - Наложение: Cache Response Rules комбинируются так же, как и Cache Rules. Если несколько правил задают одну и ту же настройку, применяется последнее совпавшее правило.
Пример: приоритет OCC над Edge TTL
Рассмотрим следующий сценарий:
- Cache Rule задаёт Edge TTL к
override_originсо значением7200секунд (2 часа). - Cache Response Rule использует
set_cache_controlчтобы задатьs-maxageк3600секунд (1 час) сcloudflare_onlyвключено. - Источник возвращает
Cache-Control: s-maxage=600.
В этом случае приоритет имеет Cache Response Rule. Cloudflare кеширует ресурс на 3600 секунд (1 час) на основе s-maxage директиву, заданную Cache Response Rule, при этом посетители по-прежнему получают исходную s-maxage=600 от источника, потому что cloudflare_only включён.
Отличие от Workers и Transform Rules
Workers и Response Header Transform Rules выполняются после принятия решения о кешировании и не могут повлиять на то, кешируется ли ответ и как именно. Только Cache Response Rules может изменять поведение кеширования на основе заголовков ответа источника.
Если вам нужно переопределить Cache-Control директивы от источника (например, удалить private или добавить s-maxage), используйте Cache Response Rule а не Worker или Transform Rule.
Примечания
- Если вы удаляете заголовок Last-Modified, Smart Edge Revalidation отключается.
- Cache Response Rules игнорируют
1xxкодов состояния HTTP ответа так как они считаются информационными ответами. - Cache Response Rules поддерживают версионирование. См. Управление версиями документации.