ETag を HTTP 応答に追加する場合、メディア タイプを含める必要がありますか? もちろん、ETag が不透明であることは理解していますが、以下に例を示します。
- application/json で Person を要求するクライアントがあるとします。それを調べて ETag を作成し、その人物の JSON 表現を送り返します
- ここで、同じクライアントが同じ URI で (変更されていない) 同じ人に別の要求を行いますが、それを application/xml で要求します。
単純に 304 を返すのは明らかに正しくありませんが、私の質問は、2 番目の要求で、ETag は一致するが、Accept ヘッダー (またはコンテンツ ヘッダー) に基づくキャッシュはないと予想するかということです。また、キャッシュに同じ URI からの 2 つの表現が含まれる可能性はありますか?それとも、Content-Type が切り替わるたびに常に無効なキャッシュを持つことになりますか?