Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

HEAD リクエストと Set-Cookie ヘッダー

最終更新 Markdown で表示Agent セットアップ

このページでは、Cloudflare のキャッシュが次のものとどうやり取りするかを説明します。

  • HEAD リクエスト
  • Set-Cookie レスポンスヘッダー

HEAD リクエストとキャッシュの関係

Cloudflare は、キャッシュ可能なリクエストHEADGET に変換します。

キャッシュ可能なリソースに対して 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 を削除し、アセットをキャッシュします。

役に立ちましたか?