Available settings
import { Details } from "~/components";
These are the settings that you can configure when creating a Cache Response Rule. Because Cache Response Rules execute after Cloudflare receives the origin response, both request and response fields are available for rule matching.
:::note
Request fields describe the request as Cloudflare sends it to your origin. If an Origin Rule changes the Host header, http.host returns the changed value. Match on the hostname your origin receives, not the hostname visitors request.
:::
Expression fields
Request fields
| Field | Type | Description |
|---|---|---|
http.cookie |
String | Full cookie header value |
http.host |
String | The Host header received by your origin, which can differ from the requested hostname if an Origin Rule changed it |
http.referer |
String | The HTTP Referer header |
http.user_agent |
String | The HTTP User-Agent header |
http.request.method |
String | The HTTP request method |
http.request.uri |
String | The request URI |
http.request.uri.path |
String | The URI path |
http.request.uri.path.basename |
String | The basename of the URI path |
http.request.uri.path.extension |
String | The file extension from the URI path |
http.request.uri.query |
String | The query string |
http.request.uri.args |
Map | Query string arguments as key-value pairs |
http.request.uri.args.names |
Array | Query string argument names |
http.request.uri.args.values |
Array | Query string argument values |
http.request.full_uri |
String | The full request URI including scheme and host |
http.request.headers |
Map | Request headers as key-value pairs |
http.request.headers.names |
Array | Request header names |
http.request.headers.values |
Array | Request header values |
http.request.cookies |
Map | Parsed cookies as key-value pairs |
http.request.accepted_languages |
Array | Parsed Accept-Language header values |
Response fields
| Field | Type | Description |
|---|---|---|
http.response.code |
Integer | The HTTP response status code from the origin |
http.response.headers |
Map | Response headers as key-value pairs |
http.response.headers.names |
Array | Response header names |
http.response.headers.values |
Array | Response header values |
If you select the Edit expression option, you can enter any of the above response fields.
Functions
The following functions are available in this phase:
- 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
- substring
- to_string
- upper
- url_decode
- wildcard_replace
For descriptions of each function, refer to Functions.
Operators
For the full list of operators, refer to Operators.
Available actions
Cache Response Rules support three actions:
| Action | Description |
|---|---|
set_cache_settings |
Strip headers (ETags, Set-Cookie, Last-Modified) from the origin response before caching. |
set_cache_tags |
Add, remove, or set cache tags on the response for targeted purging. |
set_cache_control |
Modify Cache-Control header directives in the origin response. |
Action: set_cache_settings
Configures settings related to caching on the origin response. The following parameters are available:
| Parameter | Type | Description |
|---|---|---|
strip_etags |
Boolean | Strip ETag headers from the origin response before caching. |
strip_set_cookie |
Boolean | Strip Set-Cookie headers from the origin response before caching. |
strip_last_modified |
Boolean | Strip Last-Modified headers from the origin response before caching. |
:::note
:::
API action: set_cache_settings.
"action_parameters": {
"strip_etags": true,
"strip_set_cookie": true,
"strip_last_modified": true
}
Refer to Create a rule via API for complete API examples.
Action: set_cache_tags
Modifies the cache tags associated with the response. Cache tags can be used for targeted cache purging.
| Parameter | Type | Description |
|---|---|---|
operation |
String | Required. One of: add, remove, set. |
values |
Array | A list of cache tag strings. Mutually exclusive with expression. |
expression |
String | An expression that evaluates to an array of cache tags. Mutually exclusive with values. |
API action: 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)"
}
Refer to Create a rule via API for complete API examples.
Action: set_cache_control
Modifies Cache-Control header directives in the origin response.
Supported directives
Directives with duration value (seconds):
max-ages-maxagestale-if-errorstale-while-revalidate
Directives with optional qualifiers (header names):
privateno-cache
Boolean directives:
no-storeno-transformmust-revalidateproxy-revalidatemust-understandpublicimmutable
Directive configuration
The available parameters depend on the directive type.
Directives with duration value
Applies to max-age, s-maxage, stale-if-error, and stale-while-revalidate.
| Parameter | Type | Description |
|---|---|---|
operation |
String | Required. set or remove. |
cloudflare_only |
Boolean | When enabled, this setting only affects how Cloudflare caches your content. Your visitors still receive the original directive. |
value |
Integer | Duration in seconds. Required when operation is set. |
Directives with optional qualifiers
Applies to private and no-cache.
| Parameter | Type | Description |
|---|---|---|
operation |
String | Required. set or remove. |
cloudflare_only |
Boolean | When enabled, this setting only affects how Cloudflare caches your content. Your visitors still receive the original directive. |
qualifiers |
Array | Optional list of header names to qualify the directive. |
Boolean directives
Applies to no-store, no-transform, must-revalidate, proxy-revalidate, must-understand, public, and immutable.
| Parameter | Type | Description |
|---|---|---|
operation |
String | Required. set or remove. |
cloudflare_only |
Boolean | When enabled, this setting only affects how Cloudflare caches your content. Your visitors still receive the original directive. |
API action: set_cache_control.
"action_parameters": {
"max-age": {
"operation": "set",
"value": 3600,
"cloudflare_only": true
},
"stale-if-error": {
"operation": "remove"
}
}
Refer to Create a rule via API for complete API examples.
谢谢你的反馈!