Ce înseamnă Vary: * pentru un cache de proxy partajat
Înțelegeți de ce un răspuns stocat cu Vary: * nu se poate potrivi cu o cerere ulterioară prin selecția normală a cache-ului partajat.
Un răspuns stocat cu Vary: * eșuează întotdeauna testul normal de potrivire Vary. Proxy-ul nu poate concluziona că o cerere ulterioară are dreptul la aceeași reprezentare doar pentru că URL-ul și antetele vizibile par similare.
Comparați asta cu:
Vary: Accept-Encoding
Aceasta numește un câmp de cerere pe care cache-ul îl poate compara. Caracterul universal spune că acest tip de comparație a antetelor nu este suficient. Creșterea prospețimii sau a dimensiunii cache-ului nu oferă informația de selecție lipsă.
Distincția este între stocare și reutilizare. Un cache poate păstra informații utile pentru validare, dar o variantă cu caracter universal stocată nu devine un răspuns potrivit normal care să satisfacă cererea următoare. Proxy-ul trebuie de obicei să contacteze originea.
Faceți ca politica răspunsului să descrie aplicația
Dacă controlați originea și reprezentarea chiar variază doar în funcție de antete de cerere identificabile, numiți acele câmpuri cu precizie. Nu înlocuiți caracterul universal cu Accept-Encoding doar pentru că acel exemplu poate fi stocat: aplicația poate varia și după limbă, autorizare sau informații din afara acelor antete.
Dacă conținutul este privat sau nu ar trebui stocat, exprimați asta prin politica de cache corespunzătoare. Eliminarea Vary nu face conținutul personalizat sigur pentru partajare.
Setarea vary_ignore_expire din Squid privește gestionarea expirării pentru răspunsuri variabile și comportamentul HTTP istoric. Nu este un comutator care face caracterul universal să se potrivească.