Подтвердить что ты не робот

Почему нет ответа "Vary: Origin" на пропуске CORS?

При выполнении запроса CORS, если запрашиваемый Origin находится в списке разрешенных источников, ответ содержит как заголовок Access-Control-Allow-Origin, так и заголовок Vary: Origin.

The Vary: Origin, сообщающий CDNs и т.д., что ответ был согласован на основе значения заголовка источника запроса.

Проблема (и я тестировал ведущих поставщиков CDN), заключается в том, что если запрашивающий не предоставляет заголовок Origin в своем запросе или значение Origin, которое не является одним из разрешенных, ответ не включайте в ответ Vary: Origin.

Если CDN, предварительно формирующий CORS, всегда отвечает Vary: Origin в заголовках ответов? Если CDN не считает, что он может служить тем же самым ответом на любое значение Origin. Затем снова можно было бы заполнить кеш CDN, сделав множество запросов со случайными значениями начала.

4b9b3361

Ответ 1

Да. Если запрос может содержать Access-Control-Allow-Origin с разными значениями, тогда CDN должен всегда отвечать Vary: Origin, даже для ответов без заголовка Access-Control-Allow-Origin. Ваш анализ верен: если заголовок не всегда присутствует, можно было бы заполнить кеш неверными значениями.