Determinando onde um arquivo está sendo armazenado em cache

1

Eu tenho um servidor web debian rodando o apache, do qual eu regularmente baixo um executável usando o IE 8 em uma máquina virtual XP (via LAN). No entanto, percebi que, em algum ponto da linha, tenho repetidamente executado a mesma versão (e me perguntando por que minhas alterações não estavam sendo exibidas).

Um Ctrl + F5 no IE permite baixar a nova versão (embora a página seja sempre atualizada com um simples F5 ).

Isso me faz suspeitar que o cache está acontecendo no Windows / IE, mas não tenho certeza.

Onde quer que esteja acontecendo, há uma maneira fácil de evitar isso no servidor? Eventualmente, esperamos oferecer o software para toda a empresa, e gostaríamos de evitar ter que dizer a todos para fazer uma Ctrl + F5 toda vez que houver um versão atualizada.

    
por RoadieRich 01.07.2013 / 17:54

2 respostas

3

Se você acredita que o Apache está armazenando o arquivo em cache, é possível desativá-lo usando .httaccess diretivas:

<FilesMatch ".(html|htm|js|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
</ifModule>
</FilesMatch>

Esta diretiva deve dizer ao IE para baixar a página toda vez que acessar o site.

Alternativamente, você pode dizer ao IE 8 para nunca armazenar em cache um site - vá para: Ferramentas, Opções da Internet, Guia Geral, Opções de Internet Temporária.

Reconheça que pode haver um impacto no desempenho devido a essa configuração em seu servidor da Web ou no lado do cliente. Pode não ser um problema com base na sua descrição.

    
por 01.07.2013 / 18:24
1

Você pode configurar a página da Web para não armazenar em cache - dessa forma, o navegador sempre obterá o arquivo mais recente. Defina isso no cabeçalho HTML da página:

<meta http-equiv="Cache-Control" content="no-store"/>

Você também pode definir o que os cabeçalhos de controle de cache enviam no Apache - por exemplo, você pode precisar configurá-lo para arquivos .exe em vez de apenas a página html. Veja algumas documentações sobre isso: link

Outra opção é usar "URLs de impedimento de cache", mesmo que isso não pareça se aplicar à sua configuração atual. É algo para estar ciente de que: link

    
por 01.07.2013 / 18:18

Tags