ユーザーリクエストのクエリ文字列、HTTP リクエストヘッダー、Cookie など、さまざまな部分に基づいてルールを作成し、カスタムキャッシュキーを生成できます。この機能は、同じファイルにアクセスする一連のリクエストのキャッシュキーを統一します。これにより、リクエストパラメーターが異なるために同じファイルへのリクエストが異なるファイルとしてキャッシュされるのを防ぎます。結果として、キャッシュヒット率が向上し、応答時間と帯域幅消費量の両方が削減されます。
背景情報
カスタムキャッシュキー機能は、back-to-origin URL を変更しません。リクエストのキャッシュ ID のみを変更します。これにより、back-to-origin リクエストがクライアントリクエストと一致することが保証されます。
キャッシュキーは、ESA の POP (Point of Presence) にキャッシュされたファイルの一意の識別子です。POP にキャッシュされた各ファイルには、一意のキャッシュキーがあります。デフォルトでは、キャッシュキーはパラメーターを含むクライアントリクエストの完全な URL です。
利用シーン
操作手順
ルールを追加すると、ユーザーがリソースをリクエストしたときに、ESA はルール実行の優先順位に基づいてルールを順番に照合し、実行します。
ESA コンソールで、サイト管理 を選択します。[サイト] 列で、対象のサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
[ルールを追加] をクリックし、[ルール名] を入力します。
[リクエストが以下のルールと一致する場合...] セクションで、リクエストが一致する必要のある条件を設定します。詳細については、「ルール式の構成」をご参照ください。
[キャッシュの適格性] セクションで、[キャッシュ可否] を [キャッシュ対象] に設定します。
[カスタムキャッシュキー] セクションで、[設定] をクリックし、次のパラメーターを設定します。

パラメーター
説明
[クエリ文字列のソート]
クエリ文字列のソート機能を有効にするかどうかを指定します。
クエリ文字列
リクエスト URL から
?とそれに続くクエリ文字列を削除するかどうかを指定します。[HTTP リクエストヘッダー]
[これらのヘッダー名とその値を含める]:指定された HTTP リクエストヘッダー名とその値をキャッシュキーに追加します。
[存在するかどうかをチェック]:指定された HTTP リクエストヘッダーが存在するかどうかをチェックします。存在する場合、その名前がキャッシュキーに追加されます。
[Cookie]
[これらの Cookie 名とその値を含める]:指定された Cookie パラメーター名とその値をキャッシュキーに追加します。
[存在するかどうかをチェック]:指定された Cookie パラメーターが存在するかどうかをチェックします。存在する場合、その名前がキャッシュキーに追加されます。
ユーザー
[デバイスのタイプ]:クライアントの
User-Agent情報に基づいてクライアントタイプを識別し、クライアントタイプに基づいてキャッシュキーを生成します。[国 / 地域]:クライアントの IP アドレスに基づいてクライアントの国またはリージョンを識別し、国またはリージョンに基づいてキャッシュキーを生成します。
[言語]:クライアントリクエストの
Accept-Language情報に基づいてクライアントの言語を識別し、言語タイプに基づいてキャッシュキーを生成します。
[Web キャッシュ詐欺からの保護]
静的コンテンツのキャッシュを許可しながら、Web キャッシュ汚染攻撃から防御します。
[OK] をクリックします。
設定例
シナリオ例 |
|
機能設定 |
|
生成されたキャッシュキー | 各パラメーターに対して生成されるキャッシュキーの断片は次のとおりです:
したがって、最終的なキャッシュキーはこれらの断片を連結したものです: |
関連ドキュメント
ルール関連の機能は、実行の優先順位、ルールの動作、設定範囲が異なります。詳細については、「ESA ルールの有効化の仕組み」をご参照ください。
