Galera,
Quando o browser faz a requisição de uma imagem envia algo como:
GET /images/logo.gif HTTP/1.1
Accept: */*
Referer: http://www.google.com/
Accept-Encoding: gzip, deflate
If-Modified-Since: Thu, 23 Sep 2004 17:42:04 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;)
Host: www.google.com
o importante nessa história é o If-Modified-Since, que permite ao servidor responder se o recurso foi modificado desde determinada data. caso não tenha sido simplesmente o servidor responde com o código 304.
Então com ese código o browser sabe que pode pegar a imagem armazenada no cache interno.
portanto:
se a imagem está armazenada num banco de dados e/ou gerada por um servlet vai quebrar todo este esquema de cache. visto que o servidor tira essa data do sistema de arquivos, e sem arquivos temos os bytes representando apenas a imagem.
mas isso é pra imagem, abordagem pouca usada. agora imagem o rolo:
o cara implementou aquela história de utilizar gzip no seus arquivos js. sacaram?
não?
é o seguinte, pra fazer aquilo precisa colocar no header do arquivo Content-Encoding:gzip e geralmente fazem isso com servlet. jogando denovo o cache fora!
ou seja, estamos tapando um buraco e descobrindo outro? 