If-None-Match Inspect

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

状態

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

使い方

If-None-Match か Request Headers を貼り付けて「解析」。ETag の一覧と weak/strong を整理します。

注意(このツール)

  • If-None-Match: のヘッダー行でも解析できます(複数行の貼り付けもOK)。
  • * は「どれでも一致」として扱われます。

このページについて

何をするツール?

If-None-Match を分解して、ETag の一覧(weak/strong)を表示します。

304 Not Modified の条件確認やキャッシュ検証の切り分けに向きます。

基本(If-None-Match の役割)

  • If-None-Match は ETag によるキャッシュ検証です。
  • 一致すれば 304、更新があれば 200 が返るのが一般的です。
  • ETag は強い/弱い(strong/weak)があります。

入力の例

  • If-None-Match: "abc123"
  • If-None-Match: W/"abc123", "def456"
  • If-None-Match: *

weak/strong の考え方

weak は「意味的に同じ」、strong は「バイト列が完全一致」という意味合いです。

よくある落とし穴

  • ETag が無く If-None-Match が効かない
  • ETag が毎回変わるため常に 200 になる
  • * の意味を誤解してしまう

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

  • ETag Inspect で ETag を確認
  • このツールで If-None-Match を解析
  • Last-Modified と併用されているかも確認
  • ETag Inspect
  • Last-Modified Inspect
  • If-Modified-Since Inspect

推奨(実務)

  • ETag と必ずセットで運用
  • Cache-Control: no-cache と合わせて再検証を促す
  • Range 対応は If-Range も検討

このツールでできること

  • If-None-Match の ETag 一覧と強弱を整理
  • * の判定

注意(運用)

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

参照仕様

  • RFC 9110(HTTP Semantics)
  • MDN: If-None-Match

FAQ

If-None-Match と If-Modified-Since はどっちを使う?

ETag が使えるなら If-None-Match の方が正確です。

参考リンク

  1. RFC 9110
  2. MDN: If-None-Match

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

  1. 304が返らない時の診断手順 — ETag / Last-Modified と If-* の往復を確認して 304 不発を切り分ける
  2. If-Unmodified-Since Inspect — If-Unmodified-Since を解析して更新競合条件を確認
  3. If-Modified-Since Inspect — If-Modified-Since を解析して条件付き取得を確認
  4. Cache Validator Overview — ETag/Last-Modified 系バリデータの関係を整理
  5. Age Inspect — Age を解析して共有キャッシュ滞在時間を把握
  6. ETag Inspect — ETag と If-None-Match の整合を解析
  7. ETag Builder — 用途に応じたETag値を生成
  8. If-Match Inspect — If-Match を解析して更新前提条件を確認

キャッシュ検証

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