要約
Cache-Groupsは、不透明で大文字と小文字を区別するグループ文字列を一つ以上宣言できます。- グループ所属は、同じキャッシュかつ同じ URI オリジンの内部だけで成立します。
- 安全なリクエストへのレスポンスにある
Cache-Group-Invalidationは無視しなければなりません。安全でないリクエストでは、指定グループを共有する保存済みレスポンスを無効化できます。 - 無効化は、別の拡張が強化しない限り任意であり、新たに関連付けられたグループへ連鎖しません。
RFC 9875の中心は、保存済みレスポンスの関係をキャッシュ内で表すことです。レスポンスは複数のグループを宣言でき、キャッシュはその情報を同じオリジン内の関連性として扱えます。識別子は不透明であり、大文字と小文字も区別されます。したがって、文字列そのものが所有者や権限を示すわけではありません。運用側には、名前空間を誰が管理し、どのレスポンスが所属を宣言でき、誰が無効化を要求できるかを決める責任があります。
境界を誤ると説明が崩れます。あるキャッシュのグループ情報は別のキャッシュへ自動的に伝わらず、ブラウザー、プロキシ、リバースプロキシなどが同じ状態を持つことも保証されません。この仕組みは異なる URI オリジンのレスポンスを関連付けません。従って、RFC 9875をクロスキャッシュ、クロスCDN、クロスオリジンの同期機構として扱うことはできません。ローカルキャッシュで無効化が起きても、別のキャッシュの状態は別に評価する必要があります。
フィールド処理には、必須の規則と任意の動作があります。安全なリクエストへのレスポンスに Cache-Group-Invalidation があれば、必ず無視します。これは設定次第の最適化ではありません。安全でないリクエストでは、名前付きグループを共有する保存済みレスポンスを無効化してもよいのですが、別のキャッシュ拡張による強化がない限り、その無効化自体は必須ではありません。また、無効化されたレスポンスを起点に、後から関係したグループを再帰的に追跡することもありません。
脅威は二方向です。状態変更後も関連レスポンスが残れば、古い表現が提供される可能性があります。反対に、広すぎるグループや不十分な権限制御は、別のテナントの資源を巻き込みます。同一オリジンで複数者をホスティングする場合、一方が他方の資源と同じグループに入れたり、無効化したりできないよう、ホストがアクセスを管理しなければなりません。不透明な名前は、権限分離の代わりにはなりません。
意思決定の焦点は「一つのヘッダーでサイト全体を消せるか」ではありません。どのキャッシュとオリジンで、どの主体が、どの範囲を操作できるかを限定することです。複数キャッシュ間の整合性が必要なら、別の仕組みと別の根拠を用意し、この信号の範囲を拡張してはなりません。
出典
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
