← Cloudflare Cache / cache / how-to / cache-response-rules
Доступные настройки
Это настройки, которые можно задать при создании Cache Response Rule. Поскольку Cache Response Rules выполняются после того, как Cloudflare получает ответ источника, для сопоставления правила доступны поля как запроса, так и ответа.
Поля выражений
Поля запроса
| Поле | Тип | Описание |
|---|---|---|
http.cookie |
String | Полное значение заголовка cookie |
http.host |
String | Заголовок HTTP Host |
http.referer |
String | Заголовок HTTP Referer |
http.user_agent |
String | Заголовок HTTP User-Agent |
http.request.method |
String | Метод HTTP-запроса |
http.request.uri |
String | URI запроса |
http.request.uri.path |
String | Путь URI |
http.request.uri.path.basename |
String | Базовое имя файла из пути URI |
http.request.uri.path.extension |
String | Расширение файла из пути URI |
http.request.uri.query |
String | Строка запроса |
http.request.uri.args |
Карта | Аргументы строки запроса в виде пар «ключ-значение» |
http.request.uri.args.names |
Array | Имена аргументов строки запроса |
http.request.uri.args.values |
Array | Значения аргументов строки запроса |
http.request.full_uri |
String | Полный URI запроса, включая схему и хост |
http.request.headers |
Карта | Заголовки запроса в виде пар «ключ-значение» |
http.request.headers.names |
Array | Имена заголовков запроса |
http.request.headers.values |
Array | Значения заголовков запроса |
http.request.cookies |
Карта | Разобранные cookie в виде пар ключ-значение |
http.request.accepted_languages |
Array | Разобранные значения заголовка Accept-Language |
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
http.response.code |
Целое число | Код статуса HTTP-ответа от источника |
http.response.headers |
Карта | Заголовки ответа в виде пар «ключ-значение» |
http.response.headers.names |
Array | Названия заголовков ответа |
http.response.headers.values |
Array | Значения заголовков ответа |
Если вы выберете Edit expression параметра можно ввести любое из перечисленных выше полей ответа.
Функции
На этом этапе доступны следующие функции:
- all
- any
- concat
- decode_base64
- ends_with
- len
- lookup_json_integer
- lookup_json_string
- lower
- regex_replace
- remove_bytes
- remove_query_args
- split
- starts_with
- подстрока
- to_string
- upper
- url_decode
- wildcard_replace
Описание каждой функции см. в разделе Функции.
Операторы
Полный список операторов см. в разделе Операторы.
Доступные действия
Cache Response Rules поддерживают три действия:
| Действие | Описание |
|---|---|
set_cache_settings |
Удаляет заголовки (ETags, Set-Cookie, Last-Modified) из ответа источника перед кешированием. |
set_cache_tags |
Добавляйте, удаляйте или задавайте теги кеша в ответе для точечной очистки. |
set_cache_control |
Изменить директивы заголовка Cache-Control в ответе источника. |
Действие: set_cache_settings
Настраивает параметры кеширования, связанные с ответом источника. Доступны следующие параметры:
| Параметр | Тип | Описание |
|---|---|---|
strip_etags |
Boolean | Удаляет заголовки ETag из ответа источника перед кешированием. |
strip_set_cookie |
Boolean | Удаляет заголовки Set-Cookie из ответа источника перед кешированием. |
strip_last_modified |
Boolean | Удаляет заголовки Last-Modified из ответа источника перед кешированием. |
Информация об API
Действие API: set_cache_settings.
"action_parameters": {
"strip_etags": true,
"strip_set_cookie": true,
"strip_last_modified": true
}См. Создание правила через API с полными примерами API.
Действие: set_cache_tags
Изменяет теги кеша, связанные с ответом. Теги кеша можно использовать для целевой очистка кеша.
| Параметр | Тип | Описание |
|---|---|---|
operation |
String | Обязательно. Одно из: add, remove, set. |
values |
Array | Список строк тегов кеша. Не может использоваться одновременно с expression. |
expression |
String | Выражение, результатом которого является массив тегов кэша. Не может использоваться одновременно с values. |
Информация об API
Действие API: set_cache_tags.
"action_parameters": {
"operation": "set",
"values": ["api-response", "dynamic-content"]
}"action_parameters": {
"operation": "add",
"expression": "split(http.response.headers[\"Surrogate-Keys\"][0], \",\", 1)"
}См. Создание правила через API с полными примерами API.
Действие: set_cache_control
Изменяет директивы заголовка Cache-Control в ответе источника.
Поддерживаемые директивы
Директивы со значением длительности (в секундах):
max-ages-maxagestale-if-errorstale-while-revalidate
Директивы с необязательными уточнениями (имена заголовков):
privateno-cache
Булевы директивы:
no-storeno-transformmust-revalidateproxy-revalidatemust-understandpublicimmutable
Настройка директивы
Доступные параметры зависят от типа директивы.
Директивы со значением длительности
Применяется к max-age, s-maxage, stale-if-error, а также stale-while-revalidate.
| Параметр | Тип | Описание |
|---|---|---|
operation |
String | Обязательно. set или remove. |
cloudflare_only |
Boolean | После включения эта настройка влияет только на то, как Cloudflare кэширует контент. Посетители по-прежнему получают исходную директиву. |
value |
Целое число | Длительность в секундах. Обязательно, если operation имеет значение set. |
Директивы с необязательными уточнениями
Применяется к private и no-cache.
| Параметр | Тип | Описание |
|---|---|---|
operation |
String | Обязательно. set или remove. |
cloudflare_only |
Boolean | После включения эта настройка влияет только на то, как Cloudflare кэширует контент. Посетители по-прежнему получают исходную директиву. |
qualifiers |
Array | Необязательный список имён заголовков для уточнения директивы. |
Булевы директивы
Применяется к no-store, no-transform, must-revalidate, proxy-revalidate, must-understand, public, а также immutable.
| Параметр | Тип | Описание |
|---|---|---|
operation |
String | Обязательно. set или remove. |
cloudflare_only |
Boolean | После включения эта настройка влияет только на то, как Cloudflare кэширует контент. Посетители по-прежнему получают исходную директиву. |
Информация об API
Действие API: set_cache_control.
"action_parameters": {
"max-age": {
"operation": "set",
"value": 3600,
"cloudflare_only": true
},
"stale-if-error": {
"operation": "remove"
}
}См. Создание правила через API с полными примерами API.