Cache-Control Inspect
キャッシュ関連ヘッダーを横断して判定します。入力はサーバーへ送信しません。再検証やCDN差分の一次切り分けに使えます。
状態
ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。
使い方
Cache-Control を貼り付けて「解析」。ディレクティブ一覧を表示します。
注意(このツール)
- ETag/Expires/Last-Modified は別ヘッダーとして扱われます。
このページについて
何をするツール?
Cache-Control を解析し、max-age/no-store/no-cache などのディレクティブを一覧で表示します。
キャッシュが効く/効かない原因の切り分けに向きます。
HTTP Header Parser と併用して、実際のレスポンスヘッダーを貼り付けて確認するとスムーズです。
Cache-Controlの基本(最短)
- Cache-Control はレスポンスのキャッシュ方針を指定します(ブラウザ/プロキシ/CDNなど)。
- no-store は「保存しない」、no-cache は「再検証が必要」です。
- max-age はキャッシュ可能期間(秒)です。
使いどころ
- 静的アセット(CSS/JS/画像)のキャッシュ方針を確認したい
- APIのレスポンスがキャッシュされて困っている/されなくて困っている
- CDNでのキャッシュとブラウザキャッシュの差を整理したい(s-maxage等)
よく使うディレクティブ
- public / private:共有キャッシュで扱えるか
- max-age:ブラウザ側の寿命(秒)
- s-maxage:共有キャッシュ(CDN等)の寿命(秒)
- no-store:保存しない(機密向け)
- no-cache:利用前に再検証
- must-revalidate:期限切れ時は再検証必須
よくある落とし穴
- no-cache を「キャッシュしない」と誤解する(実際は再検証)
- APIに public,max-age を付けて意図せず共有キャッシュされる
- ETag/Last-Modified が無く再検証がうまく働かない
推奨(用途別)
- API(JSON): 秘密情報は no-store。公開なら no-cache + validators
- HTML: no-cache + must-revalidate か短め max-age + validators
- 静的アセット: long max-age + immutable + versioned URL
このツールでできること
- Cache-Control のディレクティブ分解
- max-age/s-maxage などの値の確認
- ETag/Expires/Last-Modified を補助的に確認
切り分け手順(おすすめ)
- レスポンスヘッダーを貼り付ける
- Cache-Control / ETag / Last-Modified を確認する
- 304 / 206 / CDN差分を関連Inspectで追う
注意(運用)
- キャッシュ挙動はブラウザ/CDN/プロキシの層で変わるため、同一点観測で比較してください。
- ヘッダー診断だけでは不十分な場合があります。アプリ側の更新戦略とキー設計も確認してください。
参照仕様
- RFC 9111(HTTP Caching)
- RFC 9110(HTTP Semantics)
- MDN(Cache-Control / ETag)
FAQ
no-cache と no-store の違いは?
no-store は保存禁止、no-cache は再検証必須です(ETag等で再検証)。
ブラウザとCDNで挙動が違うのはなぜ?
共有キャッシュは s-maxage など別ルールで動くことがあります。CDN設定やプロキシも影響します。
参考リンク
次に見る(診断順)
site_map ルールに基づいて、次に確認すべきページを表示しています。
- 更新したのに反映されない時の診断手順 — HTML/API/静的アセット別にキャッシュ方針を確認し、反映遅延を短時間で切り分ける
- Cache系ツールの使い分け — 「更新されない」「304が返らない」「CDNだけ違う」を症状別に最短で分岐
- ETag Inspect — ETag と If-None-Match の整合を解析
- キャッシュ制御まとめ — Cache-Control/Pragma/Expires の使い分けを整理
- Vary Inspect — Vary を解析してキャッシュ分岐条件を可視化
- Cache Key Inspect — URL/Vary/ヘッダーからキャッシュキー分岐を可視化
- Cache Not Working Troubleshooting — キャッシュが効かない症状をヘッダーから段階的に切り分け
- HTTP Cache Mismatch — キャッシュ不一致の原因候補を特定
同テーマの導線
キャッシュ制御
Cache-Control/Expires/Age を横断して配信ポリシーを診断
- Cache Not Working Troubleshooting — キャッシュが効かない症状をヘッダーから段階的に切り分け
- HTTP Cache Mismatch — キャッシュ不一致の原因候補を特定
- Cache Response Analyzer — レスポンスヘッダーからキャッシュ可否を判定
- Cache Key Inspect — URL/Vary/ヘッダーからキャッシュキー分岐を可視化
- Cache Diagnostic — キャッシュ関連ヘッダーを横断診断
- キャッシュ制御まとめ — Cache-Control/Pragma/Expires の使い分けを整理
- Pragma Cache Inspect — Pragma を解析して旧キャッシュ制御を確認
- Expires Inspect — Expires / Date を解析して期限挙動を確認
- Age Inspect — Age を解析して共有キャッシュ滞在時間を把握
Example
Cache-Control: max-age=3600, public
Cache-Control: no-store