メインコンテンツまでスキップ

5 2 3 to 5 4.Extensions Expires Pragma

Cache-Controlヘッダーフィールドは、それぞれオプションの値を持つ1つ以上のキャッシュ拡張トークンを使用して拡張できる。キャッシュは認識できないキャッシュディレクティブを無視しなければならない (MUST)。

情報拡張(キャッシュ動作の変更を必要としない拡張)は、他のディレクティブのセマンティクスを変更せずに追加できる。

動作拡張は、既存のキャッシュディレクティブの基盤への修飾子として機能することで動作するように設計されている。新しいディレクティブと標準ディレクティブの両方が提供されるため、新しいディレクティブを理解しないアプリケーションは標準ディレクティブで指定された動作にデフォルト設定され、新しいディレクティブを理解するアプリケーションは、それが標準ディレクティブに関連する要件を変更していることを認識する。このように、デプロイされたキャッシュを破壊することなくCache-Controlディレクティブへの拡張を行うことができる。

例えば、privateディレクティブへの修飾子として機能する"community"と呼ばれる仮想の新しいレスポンスディレクティブを考える: プライベートキャッシュに加えて、名前付きコミュニティのメンバーのみによって共有される任意のキャッシュがレスポンスをキャッシュすることを許可される。UCIコミュニティが本来プライベートなレスポンスを共有キャッシュで使用できるようにしたいオリジンサーバーは、次を含めることでそれを実行できる

Cache-Control: private, community="UCI"

このようなcommunityキャッシュ拡張を認識するキャッシュは、その拡張に従って動作を拡大できる。communityキャッシュ拡張を認識しないキャッシュは、それを無視してprivateディレクティブに従う。