no-store と public が同居している矛盾

設定を継ぎ足すうちに、保存を禁じる no-store と保存を許す指示が同じ値に入ってしまった例です。どちらが効くか、どの指示が意味を失うかを確かめます。

入力

Cache-Control ヘッダーの値

public, no-store, max-age=86400

どちらのヘッダーか

レスポンス(サーバーから返るヘッダー)

結果

エラー 0 件・警告 1 件・情報 0 件

指摘(エラー・警告・情報)

  • 警告 no-store no-store があるため応答は保存されず、max-age・public は効果がありません(RFC 9111 5.2.2.5)。意図を確認してください。
ブラウザ(個人用キャッシュ)保存しない
CDN・プロキシ(共有キャッシュ)保存しない
読み取った指示の数3 個

指示ごとの意味

指示ごとの意味
指示値意味根拠
public本来は保存が制限される応答(認証つきなど)でも、キャッシュが保存してよいRFC 9111 5.2.2.9
no-storeリクエストも応答もキャッシュに一切保存しない(ほかの指示より優先して保存されない)RFC 9111 5.2.1.5 / 5.2.2.5
max-age86400 秒(1日)保存した応答を 86400 秒(1日) の間は新しい(fresh)ものとして使ってよい。過ぎたら古い(stale)扱いRFC 9111 5.2.1.1 / 5.2.2.1

検算(この結果になる理由)

no-store があると応答は保存されない(RFC 9111 5.2.2.5)ため、public と max-age=86400 は効果がなく、警告が 1 件出ます。要約はブラウザ・CDN とも「保存しない」です。

判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。

このツールの制約

ご利用にあたって

  • 結果は仕様(RFC)にもとづく読み解きで、特定の CDN・ブラウザでの実際の動作を保証するものではありません。
  • 本番の設定を変えるときは、検証環境で実際の応答ヘッダーとキャッシュの挙動を確認してください。

ほかの入力例