要約

  • HTTP キャッシュの有効性は再利用規則であり、現在の認可判断ではない。
  • 機密情報の配信には、キャッシュ状態と有効な開示権限を結ぶ記録が要る。

オリジンサーバーが利用権を取り消して機密表現を撤去しても、共有キャッシュが有効期間の終了まで繰り返し保存応答を返し、各ヒットを現在の承認と記録する場合がある。メタデータには忠実でも監査上の主張は誤る。

RFC 9111 は応答の経過時間、有効期間、検証条件を定める。認証情報を伴う要求への応答は、応答指示が明示的に許す場合に限って保存できるが、その許可はキャッシュ動作に関するもので、利用者の権限を再判定するものではない。304 Not Modified は保存済み表現の再利用を認めても、受領者の権限が不変とは示さない。安全でないメソッドによる無効化には範囲があり、アプリケーション内の別の権限変更が全中継点へ届く保証もない。RFC 5861 は、バックグラウンド再検証中の期限切れ応答を認める stale-while-revalidate と、利用可能な応答を取得できない場合に認める stale-if-error を区別する。

必要なのはキャッシュ配信判断の記録だ。キャッシュキーと区分、保存時刻、算出した経過時間と有効期間、関連する要求と認可の文脈、応答指示、検証子と再検証結果、適用した期限切れ応答の例外、オリジン方針の版、配信時刻、応答を決めた構成要素を結び付ける。