CORSリクエストを行うときに、リクエストされたオリジンが許可されたオリジンのリストにある場合、レスポンスにはAccess-Control-Allow-Origin
ヘッダーとVary: Origin
ヘッダーの両方が含まれます。
Vary:Originは、リクエスターのOriginヘッダー値に基づいて応答がネゴシエートされたことをCDNなどに通知します。
問題は(そして私が主要なCDNプロバイダーをテストした)、リクエスターがリクエストにOriginヘッダーを提供しない場合、または許可されたものの1つではないOrigin値を提供しない場合、応答に変化:応答の起源。
CDNプリフォームCORSは、応答ヘッダーで常にVary:Originで応答する必要がありますか?そうでない場合、CDNは、任意のOrigin値に対して同じ応答を提供できると信じます。この場合も、ランダムなOrigin値を使用して多くのリクエストを行うことで、CDNキャッシュを埋めることができます。
はい。リクエストに異なる値のAccess-Control-Allow-Origin
が含まれている可能性がある場合、Vary: Origin
ヘッダーのない応答であっても、CDNは常にAccess-Control-Allow-Origin
で応答する必要があります。分析は正しいです。ヘッダーが常に存在するとは限らない場合、キャッシュが誤った値でいっぱいになる可能性があります。