Co znamená Vary: * pro sdílenou proxy cache
Pochopte, proč uložená odpověď s Vary: * nemůže při běžném výběru ve sdílené cache odpovídat pozdějšímu požadavku.
Uložená odpověď s Vary: * vždy selže v běžném testu shody Vary. Proxy nemůže usoudit, že pozdější požadavek má nárok na stejnou reprezentaci jen proto, že jeho URL a viditelné hlavičky vypadají podobně.
Porovnejte to s:
Vary: Accept-Encoding
Toto pojmenovává pole požadavku, které cache může porovnat. Zástupný znak říká, že takové porovnání hlaviček nestačí. Zvýšení čerstvosti nebo velikosti cache chybějící informaci pro výběr nedodá.
Rozdíl je mezi uložením a opětovným použitím. Cache může uchovat informace užitečné pro validaci, ale uložená varianta se zástupným znakem se nestane běžnou odpovídající odpovědí, která uspokojí další požadavek. Proxy obvykle musí kontaktovat původ.
Nastavte politiku odpovědi tak, aby popisovala aplikaci
Pokud spravujete původ a reprezentace se skutečně liší jen podle rozpoznatelných hlaviček požadavku, pojmenujte tato pole přesně. Nenahrazujte zástupný znak hodnotou Accept-Encoding jen proto, že je tento příklad ukládatelný: aplikace se může lišit i podle jazyka, autorizace nebo informací mimo tyto hlavičky.
Pokud je obsah soukromý nebo by se neměl ukládat, vyjádřete to odpovídající politikou cache. Odstranění Vary nečiní personalizovaný obsah bezpečným ke sdílení.
Nastavení vary_ignore_expire v Squidu se týká zpracování vypršení pro proměnlivé odpovědi a historického chování HTTP. Není to přepínač, který by zajistil shodu zástupného znaku.