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