6. Relationship to Applications and Other Caches (アプリケーションおよび他のキャッシュとの関係)
HTTPを使用するアプリケーションは、しばしば他の形式のキャッシングを指定します。たとえば、Webブラウザには、セッションの初期に取得された表現を再表示するために使用できる「戻る(Back)」ボタンなどの履歴メカニズムがあることがよくあります。
同様に、一部のWebブラウザは、ページビュー内の画像やその他のアセットのキャッシングを実装しています。これらは、HTTPキャッシュセマンティクスを尊重する場合もあれば、しない場合もあります。
この仕様の要件は、HTTPキャッシュからデータを取得した後にアプリケーションがデータをどのように使用するかに必ずしも適用されるわけではありません。たとえば、履歴メカニズムは、有効期限が切れている場合でも以前の表現を表示でき、アプリケーションは新鮮度ライフタイム外の他の方法でキャッシュされたデータを使用できます。
この仕様は、アプリケーションがHTTPキャッシングを考慮することを禁止していません。たとえば、履歴メカニズムは、ビューが古くなっていることをユーザーに通知したり、キャッシュディレクティブ(例:Cache-Control: no-store)を尊重したりする場合があります。
ただし、アプリケーションがデータをキャッシュし、それをユーザーに明白に表示しない場合、またはユーザーが簡単に制御できるようにしない場合、キャッシュセマンティクスが尊重されることを期待する作成者を驚かせないように、HTTPキャッシュディレクティブに関連する動作を定義することが強く推奨されます。たとえば、Cache-Control: no-storeを含む応答を、それを取得したリクエストに直接関連するリクエスト(同じページロード中に作成されたリクエストなど)に対して再利用できるようにするHTTP「の上に」アプリケーションキャッシュを定義することは合理的かもしれませんが、それを取得したリクエストとまったく無関係なリクエストに対して再利用できるようにすることは、ユーザーや作成者にとって驚きと混乱を招く可能性があります。