Vad Vary: * innebär för ett delat proxy-cache
Förstå varför ett lagrat svar med Vary: * inte kan matcha en senare begäran genom normalt urval i ett delat cache.
Ett lagrat svar med Vary: * misslyckas alltid i det vanliga Vary-matchningsprovet. Proxy:n kan inte dra slutsatsen att en senare begäran har rätt till samma representation bara för att dess URL och synliga huvuden ser lika ut.
Jämför det med:
Vary: Accept-Encoding
Detta namnger ett begäranfält som cachen kan jämföra. Jokertecknet säger att den här typen av rubrikjämförelse inte räcker. Mer färskhet eller större cache ger inte den saknade urvalsinformationen.
Skillnaden ligger mellan lagring och återanvändning. Ett cache kan behålla information som är användbar för validering, men en lagrad jokerteckenvariant blir inte ett normalt matchande svar som kan tillfredsställa nästa begäran. Proxy:n måste vanligtvis kontakta ursprunget i stället.
Låt svarspolicyn beskriva applikationen
Om du kontrollerar ursprunget och representationen verkligen bara varierar efter identifierbara begäranrubriker, namnge dessa fält exakt. Ersätt inte jokertecknet med Accept-Encoding bara för att det exemplet går att cacha: applikationen kan också variera efter språk, auktorisering eller information utanför dessa rubriker.
Om innehållet är privat eller inte bör lagras, uttryck det genom motsvarande cachepolicy. Att ta bort Vary gör inte personligt anpassat innehåll säkert att dela.
Squids vary_ignore_expire gäller hantering av utgång för varierande svar och historiskt HTTP-beteende. Det är inte en växel som får jokertecknet att matcha.