Cache-Control アナライザー & ビルダー

ブラウザーと CDN 向けの Cache-Control を解説し、TTL から作成

入力

Cache-Control の値、またはレスポンスヘッダー全体を貼り付けてください。

結果

解析するヘッダーを貼り付けてください
入力に合わせて結果が更新されます。サンプルを読み込むと、ディレクティブ同士の関係を確認できます。

ディレクティブ

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 の値が結果に表示されることはありません。

CodingToolが正式に公開されました

Launched on StartupBaseCodingTool.dev - Free, Fast & Easy Developer Tools in One Place | Product HuntCodingTool - Featured on Startup FameFazier badgeListed on Turbo0Featured on Twelve ToolsFeatured on Findly.toolsLaunchpadly Startup DirectoryCodingTool.dev — Featured on Smol Launch