Solicitando uma explicação melhor para os cabeçalhos de expiração

2

Eu tenho implementado com sucesso os cabeçalhos expira no entanto, por vários dias eu fiquei perplexo com uma coisa. Este artigo: link estados

Keep in mind that when you use expires header the files are cached in the browser until it expires so do not use this on files that changes frequently.

Outros sites indicam o mesmo na minha leitura. Mas isso não parece ser verdade. Eu atualizei uma imagem usando o mesmo nome várias vezes. Sempre que atualizo e atualizo meu navegador, a nova imagem (com o mesmo nome) é exibida. Eu entendo por este artigo que a imagem antiga deve ser exibida, a menos que eu use um novo nome.

Você sabe onde está o mal-entendido?

Verifiquei que a imagem em questão expirou os cabeçalhos definidos nela:

Cabeçalhos de solicitações:

Host               domain.com
User-Agent         Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.28) Gecko/20120306 Firefox/3.6.28 FirePHP/0.5
Accept             image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language    en-us,en;q=0.5
Accept-Encoding    gzip,deflate
Accept-Charset     ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive         115
Connection         keep-alive
Referer            http://domain.com/index.php
Cookie             __utma=1.61479883.1332439113.1332783348.1332796726.4;     __utmz=1.1332439113.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none);PHPSESSID=lv2hun9klt2nhrdkdbqt8abug7; __utmb=1.33.10.1332796726; __utmc=1; ck_authorized=true
x-insight          activate
If-Modified-Since  Mon, 26 Mar 2012 21:55:33 GMT
Cache-Control      max-age=0

Cabeçalhos de resposta:

Date           Mon, 26 Mar 2012 22:06:50 GMT
Server         Apache/2.2.3 (CentOS)
Connection     close
Expires        Wed, 25 Apr 2012 22:06:50 GMT
Cache-Control  max-age=2592000

Configuração relevante (.htaccess):

<IfModule mod_expires.c>
    # Enable Expires Headers for this directory and sub directories that don't override it
    ExpiresActive on

    # Set default expiration for all files
    ExpiresDefault "access plus 24 hours"

    # Add Proper MIME-Type for Favicon
    AddType image/x-icon .ico

    # Set specific expriation by file type
    ExpiresByType application/javascript "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 month"
    ExpiresByType image/ico "access plus 1 month"
    ExpiresByType image/icon "access plus 1 month"
</IfModule>
    
por syn4k 27.03.2012 / 00:54

2 respostas

3

Você parece confuso mantendo a imagem em cache e usando a imagem em cache. O navegador mantém a imagem em cache, conforme configurado. No entanto, o navegador não usará a imagem armazenada em cache se souber que ela não é atual. Revalidação e expiração são duas coisas diferentes.

    
por 27.03.2012 / 01:24
0

Você deve usar "Cache-Control max-age = 2592000, public", para que o navegador salve o arquivo.

    
por 27.03.2012 / 00:58