Use Header "set" em vez de Header "add" se você não quiser duplicatas acidentais devido ao backend enviar o mesmo cabeçalho.
Estou usando o Apache 2.4.25 para expor vários serviços de back-end usando o proxy pass. O Apache também define os cabeçalhos de controle de cache com base no tipo MIME. A configuração atual do cache é assim:
ExpiresActive on
ExpiresDefault "now"
ExpiresByType text/html "now"
ExpiresByType image/gif "access plus 120 minutes"
ExpiresByType image/jpeg "access plus 120 minutes"
ExpiresByType image/png "access plus 120 minutes"
ExpiresByType text/css "access plus 60 minutes"
ExpiresByType text/javascript "access plus 60 minutes"
ExpiresByType application/x-javascript "access plus 60 minutes"
ExpiresByType text/xml "access plus 60 minutes"
ExpiresByType application/javascript "access plus 60 minutes"
ExpiresByType application/x-font-ttf "access plus 30 days"
ExpiresByType application/x-font-woff "access plus 30 days"
ExpiresByType application/x-font-eot "access plus 30 days"
ExpiresByType application/x-font-svg "access plus 30 days"
No entanto, um dos serviços de back-end também está configurando o cabeçalho max-age de controle de cache. Isso está fazendo com que o cabeçalho de resposta contenha duas configurações de máxima idade.
Duplicar os valores do agente max como visto no Chrome
Como o navegador reage quando apresentado com duas configurações de idade máxima com valores diferentes? Além disso, é possível verificar um cabeçalho de controle de cache existente antes de adicionar o padrão?
Use Header "set" em vez de Header "add" se você não quiser duplicatas acidentais devido ao backend enviar o mesmo cabeçalho.
De acordo com os documentos mais recentes do mod_expires: link
When the Expires header is already part of the response generated by the server [...] this module does not change or add an Expires or Cache-Control header.
Portanto, uma opção é obter o back-end para definir um cabeçalho Expires além do cabeçalho Cache-Control que ele já está configurando. Por exemplo, no PHP:
$seconds = 60;
header("Expires: ". gmdate('D, d M Y H:i:s', time() + $seconds). ' GMT');
header("Cache-Control: max-age=". $seconds);
Tags proxy cache apache-2.4 proxypass