このページでは、Cloudflare のキャッシュが次のものとどうやり取りするかを説明します。
HEADリクエストSet-Cookieレスポンスヘッダー
Cloudflare は、キャッシュ可能なリクエスト の HEAD を GET に変換します。
キャッシュ可能なリソースに対して HEAD リクエストを送り、エッジキャッシュにそのリソースがない場合はキャッシュミスになります。Cloudflare はオリジンに GET リクエストを送り、レスポンス全体をキャッシュして、レスポンスヘッダーだけを返します。HEAD だけを想定している場合でも、オリジンサーバーが GET を扱えるように設定してください。この動作との互換性を確保できます。
キャッシュできないリクエストでは、Set-Cookie は常に保持されます。キャッシュ可能なリクエストでは、次の 3 通りの動作があります。
-
オリジンから
Set-Cookieが返り、デフォルトのキャッシュレベルを使う場合。Origin Cache Control が無効なら、Cloudflare はSet-Cookieを削除してアセットをキャッシュします。Origin Cache Control が有効なら、Cloudflare はアセットをキャッシュせず、Set-Cookieを保持します。キャッシュステータスはBYPASSになります。 -
オリジンから
Set-Cookieが返り、キャッシュレベルが Page Rules のCache Everything、または Cache Rules のEligible for cacheの場合。このとき Cloudflare はSet-Cookieを保持しますが、アセットはキャッシュしません。毎回キャッシュMISSが返ります。 -
オリジンから
Set-Cookieが返り、キャッシュレベルが Page Rules のCache Everything、または Cache Rules のEligible for cacheで、さらに "Ignore cache-control header and use this TTL" または "Status code TTL" でエッジキャッシュ TTL を明示している場合。このとき Cloudflare はSet-Cookieを削除し、アセットをキャッシュします。