Em um cenário sem cache, o navegador normalmente emitirá um cabeçalho If-Modified-Since com uma solicitação GET, para ver se o arquivo em questão foi alterado da cópia em cache.
O servidor irá:
- return a 304 - Resposta não modificada
- retorna outro código:
- 200 - OK se a data de modificação no servidor for posterior à passada com o cabeçalho
- Outro - qualquer outro código que possa ser retornado (4xx, 5xx, etc)
O Nginx usará o registro de data e hora modificado no arquivo que está sendo utilizado para gerar o cabeçalho Última modificação e para comparação com If-Modified-Since.
Devido a isso, a atualização do registro de data e hora de um arquivo com touch /path/to/myfile.ext
fará com que o nginx identifique-o como modificado após a data If-Modified-Since e permitirá que o nginx exiba o arquivo.
Alternativamente, você deve ser capaz de forçar uma nova busca especificando explicitamente um cabeçalho 'Last Modified' em sua configuração nginx após a data prevista de If-Modified-Since. Em seu cenário, isso implicaria essencialmente:
- Faça o downgrade do seu código
- Modifique a configuração do nginx com a data atual (por exemplo):
add_header Last-Modified Mon, 09 Jan 2012 17:07:00 GMT
- Recarregar nginx
Um ponto importante de menção é que se seus ativos estáticos mudarem depois disso, o cabeçalho codificado não refletirá a mudança (por exemplo, mesmo quando você 'atualizar' seu código, você ainda terá que alterar manualmente a configuração.