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 |
Map | キーと値のペアとしてのクエリ文字列引数 |
http.request.uri.args.names |
Array | クエリ文字列引数の名前 |
http.request.uri.args.values |
Array | クエリ文字列引数の値 |
http.request.full_uri |
String | スキームとホストを含む完全なリクエスト URI |
http.request.headers |
Map | キーと値のペアとしてのリクエストヘッダー |
http.request.headers.names |
Array | リクエストヘッダー名 |
http.request.headers.values |
Array | リクエストヘッダー値 |
http.request.cookies |
Map | キーと値のペアとして解析した Cookie |
http.request.accepted_languages |
Array | 解析した Accept-Language ヘッダーの値 |
| フィールド | 型 | 説明 |
|---|---|---|
http.response.code |
Integer | オリジンからの HTTP レスポンスステータスコード |
http.response.headers |
Map | キーと値のペアとしてのレスポンスヘッダー |
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
- substring
- to_string
- upper
- url_decode
- wildcard_replace
各関数の説明は Functions を参照してください。
演算子の一覧は Operators を参照してください。
Cache Response Rules は、次の 3 つのアクションをサポートします。
| アクション | 説明 |
|---|---|
set_cache_settings |
キャッシュする前に、オリジンレスポンスからヘッダー(ETags、Set-Cookie、Last-Modified)を取り除きます。 |
set_cache_tags |
対象を絞ったパージのため、レスポンスのキャッシュタグを追加、削除、または設定します。 |
set_cache_control |
オリジンレスポンスの Cache-Control ヘッダーディレクティブを変更します。 |
オリジンレスポンスのキャッシュ関連設定を構成します。次のパラメーターが使えます。
| パラメーター | 型 | 説明 |
|---|---|---|
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 でルールを作成する を参照してください。
レスポンスに関連付けるキャッシュタグを変更します。キャッシュタグは、対象を絞った キャッシュパージ に使えます。
| パラメーター | 型 | 説明 |
|---|---|---|
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 でルールを作成する を参照してください。
オリジンレスポンスの Cache-Control ヘッダーディレクティブを変更します。
期間の値(秒)を持つディレクティブ:
max-ages-maxagestale-if-errorstale-while-revalidate
任意の修飾子(ヘッダー名)を持つディレクティブ:
privateno-cache
Boolean ディレクティブ:
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 |
Integer | 期間(秒)。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 でルールを作成する を参照してください。