Cache Validator Overview

キャッシュ関連ヘッダーを横断して判定します。入力はサーバーへ送信しません。再検証やCDN差分の一次切り分けに使えます。

状態

ブラウザ内で処理します。入力はサーバーへ送信しません。まずはここで一次切り分けしてください。

使い方

ヘッダーを貼り付けて「解析」。ETag/If-None-Match/Last-Modified/If-Modified-Since/If-Range の関係を整理します。

注意(このツール)

  • ETag と Last-Modified を併用する場合、生成規則が安定していないと再検証が不安定になります。
  • If-Range は部分取得に限定して働きます。通常再検証とは評価条件が異なります。

このページについて

何をするツール?

ETag / Last-Modified と、それに対応する If-None-Match / If-Modified-Since / If-Range をまとめて整理します。

304 の挙動や Range の条件検証を俯瞰して確認できます。

対応関係(ざっくり)

  • ETag ⇔ If-None-Match(キャッシュ検証)
  • Last-Modified ⇔ If-Modified-Since(日時検証)
  • ETag/Last-Modified ⇔ If-Range(Range 条件)

よくあるステータス

  • 304 Not Modified: 一致したため本文なし
  • 200 OK: 変更あり/条件不一致
  • 206 Partial Content: Range 条件が一致
  • 412 Precondition Failed: If-Unmodified-Since/If-Match 失敗

切り分け手順(おすすめ)

  • Response Headers Parser で ETag/Last-Modified を抽出
  • Request Headers で If-* を確認
  • このツールで対応関係を整理

推奨(用途別)

  • API(JSON): ETag か Last-Modified を必ず付与
  • HTML: 弱いETagより Last-Modified が安定
  • Range対応: If-Range + ETag/Last-Modified を揃える
  • ETag Inspect
  • If-None-Match Inspect
  • If-Modified-Since Inspect
  • If-Range Inspect
  • If-Unmodified-Since Inspect

このツールでできること

  • キャッシュ検証ヘッダーの関係整理
  • ヘッダーの有無と組み合わせの可視化

注意(運用)

  • キャッシュ挙動はブラウザ/CDN/プロキシの層で変わるため、同一点観測で比較してください。
  • ヘッダー診断だけでは不十分な場合があります。アプリ側の更新戦略とキー設計も確認してください。

参照仕様

  • RFC 9110(HTTP Semantics)
  • MDN: HTTP caching

FAQ

ETag と Last-Modified は両方必要ですか?

必須ではありませんが、両方あると互換性と再検証精度を高めやすくなります。

If-Range はどの場面で使いますか?

部分取得(Range)時に、リソース未変更を条件に差分再開したい時に使います。

参考リンク

  1. RFC 9110
  2. MDN: HTTP caching

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

  1. If-Match Inspect — If-Match を解析して更新前提条件を確認
  2. If-Unmodified-Since Inspect — If-Unmodified-Since を解析して更新競合条件を確認
  3. ETag Builder — 用途に応じたETag値を生成
  4. If-None-Match Inspect — If-None-Match を解析して再検証条件を確認
  5. ETag Inspect — ETag と If-None-Match の整合を解析
  6. If-Modified-Since Inspect — If-Modified-Since を解析して条件付き取得を確認
  7. Last-Modified Inspect — Last-Modified / If-Modified-Since を解析

キャッシュ検証

ETag/Last-Modified と If-* をつないで再検証フローを判断