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設定やプロキシも影響します。

参考リンク

  1. RFC 9111(HTTP Caching)
  2. MDN: Cache-Control
  3. MDN: ETag

site_map ルールに基づいて、次に確認すべきページを表示しています。

  1. 更新したのに反映されない時の診断手順 — HTML/API/静的アセット別にキャッシュ方針を確認し、反映遅延を短時間で切り分ける
  2. Cache系ツールの使い分け — 「更新されない」「304が返らない」「CDNだけ違う」を症状別に最短で分岐
  3. ETag Inspect — ETag と If-None-Match の整合を解析
  4. キャッシュ制御まとめ — Cache-Control/Pragma/Expires の使い分けを整理
  5. Vary Inspect — Vary を解析してキャッシュ分岐条件を可視化
  6. Cache Key Inspect — URL/Vary/ヘッダーからキャッシュキー分岐を可視化
  7. Cache Not Working Troubleshooting — キャッシュが効かない症状をヘッダーから段階的に切り分け
  8. HTTP Cache Mismatch — キャッシュ不一致の原因候補を特定

キャッシュ制御

Cache-Control/Expires/Age を横断して配信ポリシーを診断

Example

Cache-Control: max-age=3600, public
Cache-Control: no-store