Uma redefinição do IIS forçará os itens em cache a serem reenviados?

7

Eu estou tentando desenvolver uma estratégia para lidar com arquivos javascript em cache, css, imagens, etc, quando lançamos uma atualização para o nosso site. Antes de começar a implementar números de versão nos arquivos javascript eu queria saber se uma redefinição do IIS após cada versão seria efetivamente fazer com que os arquivos em cache sejam reenviados.

    
por DaveK 01.09.2010 / 16:14

3 respostas

6

Quando você faz um IISReset, o cache do IIS será limpo e, em seguida, começará a ser reconstruído depois de iniciar o backup à medida que as solicitações do cliente entrarem. Se você atualizar um arquivo, o arquivo armazenado em cache ficará obsoleto e o IIS servirá. atualize o arquivo e atualize o cache com o novo arquivo.

IISReset (embora duro) limpará o cache do IIS, mas não fará nada com caches locais em proxies ou clientes. Talvez você tenha acabado de misturar um pouco a terminologia, mas não há nenhum conceito de "ressentir" quando se trata de armazenamento em cache. Tudo é baseado em solicitações. Se um cliente solicitar algo e for encontrado em um cache, ele será servido no cache. Você precisará forçar a expiração de conteúdo em seus arquivos se for manter os mesmos nomes de arquivo.

    
por 01.09.2010 / 17:15
3

Não, o cache do cliente é baseado no tempo de expiração do conteúdo.

    
por 01.09.2010 / 17:40
2

Quando você modifica um arquivo javascript, você precisa de todos os clientes que estão executando o aplicativo da web para obter o novo arquivo, é claro para mim o "recente".

Para cada cliente obter do servidor o novo arquivo, você só precisa incluir no include / script do seu javascript na página da web o "?version=1" .

É necessário apenas um parâmetro que pode ser ?blue=hello ou ?v=1234155 como você deseja. A importância é usar um valor diferente a cada vez que você alterar o javascript. "?version=1" para a primeira mudança, "?version=2" para a segunda alteração, é prático e único para saber o próximo valor. Além disso, você pode usar um GUID se desejar: "?version=4747b320-62ce-11cf-a5d6-28db04c10777" ou pode usar a data e hora "?version=20130220175025" para 2013/02/20 17:50:25.

Exemplo # 1

<script type="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?version=1"></script>

Exemplo#2

<scripttype="text/javascript" src="http//..../jquery/1.7.1/jquery.min.js?k=4747b320-62ce-11cf-a5d6-28db04c10777"></script>
    
por 21.02.2013 / 00:44