O que Vary: * significa para uma cache de proxy partilhada
Compreenda porque é que uma resposta armazenada com Vary: * não pode corresponder a um pedido posterior através da seleção normal da cache partilhada.
Uma resposta armazenada com Vary: * falha sempre o teste normal de correspondência de Vary. O proxy não pode concluir que um pedido posterior tem direito à mesma representação só porque o seu URL e os cabeçalhos visíveis parecem semelhantes.
Compare isso com:
Vary: Accept-Encoding
Isto nomeia um campo do pedido que a cache pode comparar. O caráter universal indica que este tipo de comparação de cabeçalhos não é suficiente. Aumentar a frescura ou o tamanho da cache não fornece a informação de seleção em falta.
A distinção é entre armazenamento e reutilização. Uma cache pode conservar informação útil para a validação, mas uma variante com caráter universal armazenada não se torna uma resposta correspondente normal capaz de satisfazer o pedido seguinte. O proxy normalmente tem de contactar a origem.
Faça a política de resposta descrever a aplicação
Se controla a origem e a representação só varia realmente consoante cabeçalhos de pedido identificáveis, nomeie esses campos com precisão. Não substitua o caráter universal por Accept-Encoding só porque esse exemplo é armazenável: a aplicação também pode variar por idioma, autorização ou informação fora desses cabeçalhos.
Se o conteúdo for privado ou não dever ser armazenado, expresse isso através da política de cache correspondente. Remover Vary não torna o conteúdo personalizado seguro para partilhar.
A definição vary_ignore_expire do Squid diz respeito ao tratamento da expiração de respostas variáveis e ao comportamento histórico do HTTP. Não é um interruptor que faça o caráter universal corresponder.