ユーザーリクエストのクエリ文字列、HTTP リクエストヘッダー、Cookie などの一部に基づいてカスタムキャッシュキーを生成するルールを作成できます。これにより、同じファイルにアクセスするリクエストのキャッシュキーが統一されます。その結果、リクエストパラメーターが異なっていても同じコンテンツが複数のファイルとしてキャッシュされることを防ぎ、キャッシュヒット率の向上、応答時間の短縮、帯域幅消費の削減につながります。
背景情報
カスタムキャッシュキー機能は、オリジンへの URL を変更しません。リクエストのキャッシュキーのみを変更し、オリジンへのリクエストがクライアントリクエストと一致するようにします。
キャッシュキーは、ESA のエッジノード (POP) にキャッシュされたファイルの一意の識別子です。ESA のエッジノードにキャッシュされた各ファイルは、一意のキャッシュキーに対応します。デフォルトでは、キャッシュキーはクライアントリクエストの完全な URL であり、すべてのパラメーターが含まれます。
注意事項
HTTP リクエストヘッダー、Cookie、またはユーザープロパティなどのパラメーターでカスタムキャッシュキーを設定した場合、「URL によるキャッシュのパージ」機能を使用してキャッシュされたファイルをパージすることはできません。代わりに、「カスタムキーによるキャッシュのパージ」機能を使用する必要があります。
利用シーン
操作手順
ESA コンソールで、[ウェブサイト]を選択します。サイト 列で、対象のウェブサイトをクリックします。
左側のナビゲーションウィンドウで、 を選択します。
ルールを追加 をクリックし、ルール名 を入力します。
リクエストが以下のルールと一致する場合... セクションで、ユーザーリクエストに一致する条件を設定します。詳細については、「ルール式の構成」をご参照ください。
キャッシュの適格性 セクションで、キャッシュ可否 を キャッシュ対象 に設定します。
カスタムキャッシュキー セクションで、設定 をクリックし、以下のパラメーターを設定します。
パラメーター
説明
クエリ文字列のソート
クエリ文字列のソート機能を有効にするかどうかを指定します。
クエリ文字列
キャッシュキーを生成する際に、クエリ文字列 (URL の
?以降の部分) をどのように処理するかを設定します。HTTP リクエストヘッダー
これらのヘッダー名とその値を含みます(ヘッダー名を入力してください。英字は小文字のみサポートされています):指定されたヘッダー名とその値をキャッシュキーに含めます。
指定された HTTP リクエストヘッダーの存在を確認します。ヘッダーが存在する場合、そのヘッダー名が `Cachekey` に追加されます。
Cookie
これらの Cookie 名とその値を含みます(Cookie 名を入力してください。英字は小文字のみサポートされています):指定された Cookie 名とその値をキャッシュキーに含めます。
存在を確認(ヘッダー名を入力してください。英字は小文字のみサポートされています):指定された Cookie が存在する場合、Cookie 名をキャッシュキーに追加します。
ユーザー
デバイスのタイプ:
User-Agentヘッダーから識別されるクライアントのデバイスタイプに基づいてキャッシュキーを生成します。 サポートされているタイプはdesktop、tablet、mobileです。国 / 地域:クライアントの IP アドレスから識別されるクライアントの国またはリージョンに基づいてキャッシュキーを生成します。
言語:リクエストの
Accept-Languageヘッダーから識別されるクライアントの言語に基づいてキャッシュキーを生成します。
Web キャッシュ詐欺からの保護
静的コンテンツのキャッシュを許可しながら、Web キャッシュデセプション攻撃から保護します。
OK をクリックします。
設定例
シナリオ例 |
|
設定 |
|
結果のキャッシュキー | キャッシュキーは、次のフラグメントを連結して形成されます:
最終的なキャッシュキーは次のようになります: |
参考
ルール関連の機能は、実行優先度、ルールの動作、設定範囲が異なります。詳細については、「ルールの特性」をご参照ください。