Não faça nada. O Apache já tem o comportamento que você espera da caixa.
Quando um navegador faz uma solicitação para um URL já visto e armazenado em cache, e o usuário não está forçando explicitamente um recarregamento, ele inclui um If-Modified-Since
header com o registro de data e hora da solicitação anterior. Se o servidor determinar que o ativo não foi alterado desde o timestamp If-Modified-Since
, ele responde apenas com 304 Not Modified
. (Além dos timestamps, há outro cabeçalho chamado ETag
usado para verificar a validade do cache que funciona comparando os hashes do conteúdo, mas isso não adiciona nada a essa discussão.)
A única vez que você deseja usar qualquer um dos recursos mod_expires
é quando você quer dizer ao navegador para não se incomodar em fazer uma solicitação HTTP para verificar se um ativo em cache está atualizado por algum período de tempo. Por exemplo, você poderia ter um esquema em que seu arquivo CSS está localizado em /style.1.css
e nomear versões subseqüentes dele como /style.2.css
, /style.3.css
, etc. Nesse caso, você poderia salvar a sobrecarga de uma solicitação HTTP ao todo, definindo um cabeçalho Expires
.