Cache-Control アナライザー & ビルダー
ブラウザーと CDN 向けの Cache-Control を解説し、TTL から作成
入力
Cache-Control の値、またはレスポンスヘッダー全体を貼り付けてください。
結果
ディレクティブ
できること
Cache-Control アナライザー & ビルダーは、ブラウザや CDN などの共有キャッシュがレスポンスをどう扱うかを解説します。Cache-Control の値またはレスポンスヘッダー全体を貼り付けると、キャッシュの種類ごとの鮮度の有効期間、現在の経過時間、再検証のタイミング、レスポンスを保存できる主体、推奨事項付きの検出事項一覧を確認できます。生成モードでは TTL とオプションからヘッダーを作成し、同じ方法で解析します。
鮮度の計算方法
RFC 9111 に従い、共有キャッシュは s-maxage、次に max-age、次に Expires から Date を引いた値を使います。ブラウザは max-age、次に Expires から Date を引いた値を使います。いずれもない場合、キャッシュは Last-Modified からヒューリスティックな有効期間を推定することがあります。ツールは数値を推測せず、その旨を報告します。現在の経過時間は Age ヘッダーから求め、オプションで Date ヘッダーからの経過時間も加算します。
よくある誤解
no-cache は「保存しない」という意味ではなく、「保存するが、再利用の前に毎回再検証する」という意味です。保存を防ぐのは no-store だけです。private はレスポンスを共有キャッシュから除外しますが、ブラウザキャッシュからは除外しません。s-maxage が max-age を上書きするのは共有キャッシュのみです。must-revalidate は stale なレスポンスの提供を禁止するため、多くのキャッシュでは stale-while-revalidate と stale-if-error も無効になります。
パースのルール
ディレクティブ名は大文字と小文字を区別せず、カンマで区切ります。private="Set-Cookie" のような引用符付きの値にはカンマを含められます。重複したディレクティブは警告され、最初の出現が使われます。max-age=abc のような無効な数値はエラーとなり、レスポンスは stale になります。不明な拡張は情報として表示され、maxage のようなタイプミスと思われるものには候補が提示されます。
プライバシー
パースと解析はブラウザ内で実行されます。貼り付けたヘッダーは保存も送信もされません。このデバイスに記憶されるのは、選択したモードと Date オプションのみです。貼り付けたヘッダー内の Cookie の値が結果に表示されることはありません。
