Cache de Navegador
Quando o navegador do usuário envia uma solicitação à CDN (GoCache), a resposta recebida contém um cabeçalho chamado Cache-Control. Esse cabeçalho tem a função de orientar o navegador sobre como aplicar o cache ao arquivo recebido. Ao armazenar o arquivo em cache, o navegador o mantém na memória local pelo tempo especificado. Durante esse período, o navegador atende todas as solicitações a esse elemento usando o arquivo em cache, sem precisar se comunicar novamente com o servidor, a menos que a diretiva “must-revalidate” seja utilizada, o que será explicado posteriormente.
Segue um exemplo, a resposta do comando curl, contendo esta diretiva:
HTTP/1.1 301 Moved Permanently
Date: Mon, 19 Jun 2023 12:22:17 GMT
Server: Apache
X-Content-Type-Options: nosniff
Location: /user/login
X-UA-Compatible: IE=edge
Content-language: pt-br
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Cache-Control: must-revalidate, private
X-Drupal-Cache: HIT
X-Robots-Tag: noindex, nofollow
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
Set-Cookie: SERVERID=B; path=/
Cache-control: private
Como a GoCache controla o cache do navegador?
Ao configurar o tempo de cache de navegador, o usuário da GoCache está especificando o valor que a CDN enviará na diretiva “Max-Age”, no cabeçalho “Cache-Control” dos arquivos estáticos. Essa diretiva configura o tempo, em segundos, que o arquivo recebido ficará armazenado no cache local do navegador. Dessa forma, o navegador salva o arquivo no cache local, e só volta a procurar a CDN quando expirar o cache ou for feita uma limpeza no cache do navegador pelo próprio visitante do site.
Por que a GoCache não faz a limpeza de cache de navegador?
Não é possível que a GoCache realize a limpeza do cache no navegador, uma vez que não existe um canal de comunicação que permita que um servidor envie uma ordem para os navegadores limparem o cache. De fato, a diretiva "must-revalidate" é utilizada para forçar o navegador a fazer uma comunicação com o servidor, a fim de verificar se houve alguma alteração no arquivo antes de servir o conteúdo em cache. No entanto, o uso dessa diretiva pode impactar negativamente o desempenho, adicionando latência ao processo. Portanto, é crucial definir com cuidado o tempo de expiração do cache no navegador. Um tempo de expiração muito longo pode fazer com que, mesmo após a atualização do cache na GoCache, o navegador continue a fornecer o conteúdo antigo aos visitantes.
Se você possui um arquivo estático que sofre alterações frequentes, uma alternativa é configurar um tempo de cache mais curto no navegador específico para esse arquivo usando as Smart Rules. Outra opção é adicionar uma querystring de versão ao final do endereço da solicitação do arquivo, por exemplo, "?ver=1.0". Ao detectar que a parte final do endereço do arquivo difere, os navegadores tratam a solicitação como se fosse um arquivo distinto. No entanto, vale ressaltar que a limpeza do cache no navegador do usuário só pode ser realizada diretamente no navegador pelo próprio usuário.
Caso fique com dúvidas ou tenha algum problema, entre em contato com o nosso suporte. Teremos prazer em ajudá-lo.
E-mail: suporte@gocache.com.br