24 horas é muito pouco para o controle de cache :) Em teoria, as imagens nunca mudam sem que o nome também mude; portanto, você pode definir isso facilmente para um ano (ou um mês, se você se sentir mais confortável com isso).
Se você substituir uma imagem por uma nova, ela terá um novo nome. picture-of-cat-on-18th-birthday.jpg
de repente não será outra imagem com o mesmo nome de arquivo. Por esse motivo, os nomes de arquivos devem ser um pouco específicos ao seu conteúdo.
Para outros tipos de recursos como CSS e JS, convém optar por uma tática diferente. Você (frequentemente) altera arquivos e nunca / quase não altera, deseja dividir o tamanho do cache deles:
- nunca mudando -> cache muito longo
- mudando -> cache baixo
Isso não é factível. Você pode fazer os dois ou nenhum, .htaccess vê um tipo de arquivo.
Por isso, você o define para o cache longo e usa um postfix para forçar um novo download, se ele mudar:
<script src="static.js" />
<script src="changing.js?last_update=150422" />
Dessa forma, o usuário só precisará fazer o download novamente se você realmente fez uma alteração.
Esta técnica funciona em todos os recursos. Sempre almeje a maior duração de armazenamento em cache.