cachekey-query-args#

エッジサーバがキャッシュキーエントリを生成するときに条件付きで全体または名前を指定してURLクエリ文字列引数を含むかどうかの設定です。

typeパラメーターで指定可能な設定は以下の通りです。

  • include-all – キャッシュキーにある全てのクエリ文字列が含まれることを示します(デフォルト)。
  • include – valueで指定されるスペース区切りのクエリ文字列だけがキャッシュキーに含まれることを示します。他は無視されます。valueに続いてURLエンコード(e.g. "key=value&")されたパラメーター(キー)を与えると、キーと値が与えられた定義にマッチする場合だけ、パラメーターはキャッシュキーを含みます。
  • ignore-all – キャッシュキーにクエリ文字列引数が含まれないことを示します。
  • ignore – valueで指定されるスペース区切りのクエリ文字列だけがキャッシュキーから無視されることを示します。他は含まれます。valueに続いてURLエンコード(e.g. "key=value&")されたパラメーター(キー)を与えると、キーと値が与えられた定義にマッチする場合だけ、パラメーターはキャッシュキーを無視します。

サンプルユースケースは、セッションやユーザーIDのようなパラメーターを無視する例です。例えば、オリジンがsessionidクエリ文字列パラメーターでユーザーを識別している(がコンテンツの内容がキャッシュ可能な)場合に、そのクエリ文字列パラメーターを無視すれば良いことになります。また、cache-bust={random_string}といった余計なパラメーターを付加する場合にも、同様にそのパラメーターを無視すれば良いことになります。

そのときのルールの例を示します。

       "matches": [
         {
           "name": "url-wildcard",
           "value": "/static/*"
         }
       ],
       "behaviors": [
         {
           "name": "cachekey-query-args",
           "type": "ignore",
           "value": "sessionid cache-bust"
         }
       ]