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ă.

Articole similare