プレフィックス(URL)によるキャッシュの消去
エンタープライズ顧客は、URLのプレフィックスまたはパスセパレーターによってキャッシュを消去できます。例えば、https://www.example.com/foo/bar/baz/qux.jpgというURLの場合、有効な消去リクエストには以下が含まれます:
www.example.comwww.example.com/foowww.example.com/foo/barwww.example.com/foo/bar/bazwww.example.com/foo/bar/baz/qux.jpg
プレフィックスによる消去は、以下のようなさまざまなシナリオで便利です:
- ディレクトリ内のすべてを消去する。
- パス内のキャッシュされたオブジェクトに対する制御を強化する。
- 送信する消去呼び出しの数を簡素化する。
- Cloudflareダッシュボード ↗にログインし、アカウントとドメインを選択します。
- キャッシング > 設定を選択します。
- キャッシュの消去の下で、カスタム消去を選択します。カスタム消去ウィンドウが表示されます。
- プレフィックスによる消去の下で、プレフィックスを選択します。
- 構文の指示に従います。
- 1行につき1つのプレフィックス。
- API呼び出しごとに最大30のプレフィックス。
- 例に示された形式を使用して、テキストフィールドに適切な値を入力します。
- 消去を選択します。
プレフィックスによる消去はリソースを削除し、次のリクエストに対してCF-Cache-StatusヘッダーがMISSを示す原因となります。
tiered cacheが使用されている場合、プレフィックスによる消去はEXPIREDを返すことがあります。これは、下位ティアが上位ティアと再検証を試みて、後者の負荷を軽減するためです。上位ティアがリソースを持っているかどうか、エンドユーザーが下位ティアまたは上位ティアに到達しているかどうかに応じて、EXPIREDまたはMISSが返されます。
プレフィックスによる消去にはいくつかの制限があります:
- プレフィックスのパスセパレーターは31に制限されています(
example.com/a/b/c/d/e/f/g/h/i/j/k/l/m…)。 - 消去リクエストはリクエストごとに30のプレフィックスに制限されています。
- 消去のレート制限が適用されます。
- URIクエリ文字列とフラグメントはプレフィックスによる消去ができません:
www.example.com/foo?a=b(クエリ文字列)www.example.com/foo#bar(フラグメント)
プレフィックスによる消去の正規化を使用すると、正規化されたURLパスに対するプレフィックス消去リクエストがCloudflareに入ると、消去サービスはURLの正規化を尊重し、正規化されたURLを消去します。
以下のウェブサイトを例に取ります:https://cloudflare.com/انشاء-موقع-الكتروني/img_1.jpg。以下の表は、Cloudflareのキャッシュがこれらのパスを正規化のオン/オフでどのように表示するかを示しています。
上記のように、URL正規化がオンの場合、https://cloudflare.com/%D8%A7%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A/img_1.jpgとhttps://cloudflare.com/انشاء-موقع-الكتروني/img_1.jpgの2つのURLの訪問者には、同じキャッシュされたアセットが提供されます。https://cloudflare.com/%D8%A7%D9%86%D8%B4%D8%A7%D8%A1-%D9%85%D9%88%D9%82%D8%B9-%D8%A7%D9%84%D9%83%D8%AA%D8%B1%D9%88%D9%86%D9%8A/img_1.jpgを消去すると、そのアセットは両方の訪問者に対して消去されます。