Насколько я знаю, HTTP-заголовок Vary
определяет разделенный запятыми список HTTP-заголовков, которые должны учитываться кэшами вместе с URL при решении вопроса о том, является ли запрос попаданием в кэш или пропуском.
Если этот заголовок опущен, это означает, что будет рассматриваться только URL.
Но что произойдет, если заголовок будет Vary:*
?
Значение поля Vary, равное ***, сигнализирует, что неопределенные параметры, не ограниченные заголовками запроса (например, сетевой адрес клиента), играют роль в выборе представления ответа. Значение * НЕ ДОЛЖНО генерироваться прокси-сервером; оно может быть только генерироваться только сервером происхождения.
Значение поля заголовка Vary, равное *, всегда не соответствует и последующие запросы к этому ресурсу могут быть правильно интерпретированы только сервером происхождения. оригинальный сервер.
Значит ли это, что все запросы с таким заголовком будут пропуском кэша?
Я выяснил, что ASP.NET возвращает этот HTTP-заголовок, если вы используете их OutputCacheAttribute
, и вы должны явно отключить это поведение, если вам не нужен этот заголовок, или вы хотите указать пользовательские заголовки, поэтому я (хочу) верить, что это маловероятно.
Каков практический смысл Vary:*
?
Спасибо.