Що означає Vary: * для спільного кешу проксі
Зрозумійте, чому збережена відповідь із Vary: * не може збігтися з пізнішим запитом за звичайного вибору в спільному кеші.
Збережена відповідь із Vary: * завжди не проходить звичайну перевірку збігу Vary. Проксі не може дійти висновку, що пізніший запит має право на те саме подання лише тому, що його URL і видимі заголовки виглядають схоже.
Порівняйте це з:
Vary: Accept-Encoding
Тут названо поле запиту, яке кеш може порівняти. Символ-замінник каже, що такого порівняння заголовків недостатньо. Збільшення свіжості або розміру кешу не дає відсутньої інформації для вибору.
Різниця між зберіганням і повторним використанням. Кеш може зберігати інформацію, корисну для перевірки, але збережений варіант із символом-замінником не стає звичайною відповідною відповіддю, здатною задовольнити наступний запит. Проксі зазвичай має звертатися до джерела.
Нехай політика відповіді описує застосунок
Якщо ви керуєте джерелом і подання справді змінюється лише за визначеними заголовками запиту, точно назвіть ці поля. Не замінюйте символ-замінник на Accept-Encoding лише тому, що цей приклад можна кешувати: застосунок може змінюватися також за мовою, авторизацією або інформацією поза цими заголовками.
Якщо вміст приватний або його не слід зберігати, висловіть це відповідною політикою кешу. Видалення Vary не робить персоналізований вміст безпечним для поширення.
Параметр vary_ignore_expire у Squid стосується обробки закінчення терміну для змінних відповідей і історичної поведінки HTTP. Це не перемикач, який змушує символ-замінник збігатися.