Como funciona o cache de proxy reverso do Nginx?

2

Não entendo como um proxy reverso com armazenamento em cache funciona.

Vamos supor que o cache esteja vazio.

User1 carrega index.php (conteúdo dinâmico). Não há cache, então o Nginx consulta o arquivo php. O servidor diz "Bem-vindo User1". O Nginx armazena a página usando uma soma de verificação md5.

User2 carrega index.php. Existe uma página armazenada no cache, então retornamos esta página para o usuário. Ele diz "Bem-vindo User1", mas se tivéssemos chamado o script php, ele teria retornado "Welcome User2".

Como o Nginx pode saber se quer ou não chamar o script php novamente? Meu proxy reverso com cache funciona muito bem, retornando conteúdo dinâmico, mas imagino que não seja apenas "mágico".

É o script php que retorna um cabeçalho dizendo ao Nginx para não armazenar em cache?

    
por mimipc 15.02.2013 / 09:08

1 resposta

2

O cache de resposta é controlado pelo cabeçalho de resposta HTTP Cache-Control .

Se estiver definido como no-cache ou private , seu proxy reverso não armazenará em cache o documento. Normalmente, private é usado para páginas enviadas para usuários que efetuaram login; isso significa que os proxies não devem armazenar em cache o documento, mas está tudo bem para o navegador da web fazer isso.

Você pode ver detalhes completos sobre Cache-Control em RFC 2616 seção 14.9 et seq.

    
por 15.02.2013 / 09:15