Une réponse stockée portant Vary: * échoue toujours au test d'appariement Vary normal. Le proxy ne peut pas conclure qu'une requête ultérieure a droit à la même représentation simplement parce que son URL et ses en-têtes visibles se ressemblent.

Comparez cela avec :

Vary: Accept-Encoding

Cela nomme un champ de requête que le cache peut comparer. Le joker indique que ce type de comparaison d'en-têtes ne suffit pas. Augmenter la fraîcheur ou la taille du cache ne fournit pas l'information de sélection manquante.

La distinction est entre stockage et réutilisation. Un cache peut conserver des informations utiles à la validation, mais une variante joker stockée ne devient pas une réponse correspondante normale capable de satisfaire la requête suivante. Le proxy doit généralement contacter l'origine à la place.

Faites décrire l'application par la politique de réponse

Si vous contrôlez l'origine et que la représentation ne varie réellement que selon des en-têtes de requête identifiables, nommez ces champs avec précision. Ne remplacez pas le joker par Accept-Encoding simplement parce que cet exemple est cachable : l'application peut aussi varier selon la langue, l'autorisation ou des informations hors de ces en-têtes.

Si le contenu est privé ou ne doit pas être stocké, exprimez-le via la politique de cache correspondante. Supprimer Vary ne rend pas un contenu personnalisé sûr à partager.

Le vary_ignore_expire de Squid concerne la gestion de l'expiration des réponses variables et le comportement HTTP historique. Ce n'est pas un commutateur qui fait correspondre le joker.

Articles similaires