Ir ao conteúdo
  • Cadastre-se

Não atualiza a página mesmo usando no-cache - O que há de errado?


aletres

Posts recomendados

Bom dia.

Meu cabeçalho está da seguinte maneira:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>TITULO</title>
<meta http-equiv="cache-control" content="no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">

Já testei diversos scripts parecido com este mas dá o mesmo problema: o navegador pega as informações do cache.

Detalhes:

Basicamente, quando eu clico: uma vez atualiza e outra não. As vezes tenho que clicar mais de uma vez para poder atualizar.

Falei com a Locaweb e me informaram que o cache deles (php e html) é de 1 minuto. Fiz o testes e procede: Se eu clicar no link depois de 1 minuto a página atualiza sempre.

Como é possível eu declarar o no-cache no HEAD e não funcionar? :eek:

Um abraço! Valeu!

Alexandre

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Cara, passei pelo mesmo problema... Seguinte, não tem cabeçalho que dê jeito, porque o cache fica no server, não no navegador. A locaweb inventou isso tem um tempinho de proxy http.

Dá uma olhada aqui: http://wiki.locaweb.com.br/pt-br/Proxy_HTTP

Eu particularmente convenci o cliente a trocar a hospedagem.

Link para o comentário
Compartilhar em outros sites

E pensar que a anos atrás eu gostava da Locaweb. No último ano foram só problemas. O pior é que liguei pra eles antes e informaram que o cache era de 1 minuto (mas não me falaram nada de cache html, eu imaginava só php).

Nos meus testes descobri que ele guarda cache somente em páginas com mais de 3920 bytes.

O que me entriga é: porque só acontece no IE e no FF funciona normalmente?

Muito obrigado!

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

O cache é para arquivos estáticos, .html e .css por exemplo. Se no seu caso está dando em arquivos .php está errado. Só tome cuidado, porque se um arquivo é php, mas importa estilo de um css, esse css é cacheado.

No meu caso, só pra você ter ideia, o cache tava em 10 minutos, isso mesmo, 10!!! E eles insistindo que era 1 minuto... Hoje nem sei mais como está, mas o certo da tecnologia era ser imperceptível. Tem meses que eles dizem estar trabalhando pra melhorar esse tempo, mas se você ainda enfrente esse problema, creio que eles não tiveram sucesso.

Link para o comentário
Compartilhar em outros sites

Para algumas extensões continua realmente para 10 minutos: http://wiki.locaweb.com.br/pt-br/Proxy_HTTP

Pelo o que conversei, arquivos PHP tem 1 minuto de cache:

Ronald Lopes 14:25:44 Olá Alexandre, em que posso ajudar?

Alexandre 14:25:50 Boa tarde.

Alexandre 14:26:06 Falei com vocês outro dia mas o assunto ficou meio vago...

Alexandre 14:27:31 Há diversas alterações em nosso banco de dados, porém quando o usuário altera alguma informação a página quando acessada novamente mostra a informação antiga.

Alexandre 14:29:43 A Locaweb configurou o proxy para 1 minuto, correto?

Ronald Lopes 14:29:58 A Locaweb está implementando em seus servidores uma nova tecnologia de Proxy HTTP.

O Proxy HTTP trabalha em conjunto com o servidor Apache, guardando cache de páginas estáticas como por exemplo: .html .css para as requisições HTTP aumentando assim a performance de seu servidor Web em até 100 vezes dando menor tempo de resposta para suas requisições comparado com um servidor Web apenas utilizando o Apache.

Alexandre 14:30:02 Digo, o cache?

Ronald Lopes 14:30:08 Isso

Ronald Lopes 14:30:18 Devido ao Proxy HTTP

Ronald Lopes 14:30:50 Imagens podem levar até 10 minutos

Alexandre 14:30:54 Sim, porém estou tendo problemas com minhas páginas PHP.

Alexandre 14:31:50 Fiz diversos testes com página em extensão PHP e cheguei a conclusão que:

Alexandre 14:32:16 Só depois de 1 minuto é que a página é atualizada com as novas informações.

Ronald Lopes 14:33:03 Correto, pois o mesmo esta configurado para atualizar a cada minuto

Alexandre 14:33:34 Como é possível criar um sistema na Locaweb e ter as informações atualizadas em tempo real?

Ronald Lopes 14:37:11 Isso é possível sómente em um servidor dedicado ou cloud server

Alexandre 14:37:51 E como é feito a transferência de um server para outro?

Alexandre 14:39:03 Assinando um novo plano, vocês transferem o banco e os arquivos?

Ronald Lopes 14:40:19 Você contrata um servidor dedicado e após o mesmo estar ativo, você transfere os arquivos

Alexandre 14:40:33 ok, obrigado.

Minha dúvida é: como o no-cache da página é ignorada pelo browser?

<meta http-equiv="cache-control" content="no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0">

<meta http-equiv="expires" content="0">

<meta http-equiv="pragma" content="no-cache">

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Essas metas não vão influenciar no PHP... O proxy http está lá na origem de tudo, o apache, o qual você não tem acesso.

De uma forma ou de outra eu acho péssimo isso. Ao menos, enquanto estamos em desenvolvimento, poderia haver a opção de setar sim ou não, mas...

Link para o comentário
Compartilhar em outros sites

A Locaweb não ajudou muito.

Acabei descobrindo no site da Microsoft! (Nunca imaginei que a Ajuda da Microsoft funcionasse mesmo)

http://support.microsoft.com/kb/222064/

Então fiz o seguinte:

Além de incluir o código no cabeçalho:

<HEAD>
<meta http-equiv="cache-control" content="no-store, no-cache, must-revalidate, Post-Check=0, Pre-Check=0">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="-1">
</HEAD>

Copiei e colei o mesmo bloco no final da página, antes do </HTML>.

Agora no IE funciona perfeitamente.

Valeu galera!

Link para o comentário
Compartilhar em outros sites

  • 3 anos depois...

Nem um nem outro, a locaweb usa o Varnish, ou seja, impossível, limpar o cache com header php, htaccess ou meta tags, pois quem controla o cache é o proxy do http.

Tem duas formas de você visualizar as alterações em tempo real:

Opção 1: Naquela página fornecida pela Hospedagem https://usuariodeftp.websiteseguro.com
Opção 2: Passando um token randômico na string da url como: htttp://www.meusite.com.br/foo/baar/1k3h5p3y/lista.html

 

A opção 2 engana o Varnish fazendo ele acreditar que é uma url não cacheada, não recomendo isso. Mas dependendo da situação pode ser a unica solução.

Se alguém descobrir uma terceira opção compartilhe, pois o cache da locaweb é um trolador quando o assunto é atualizar conteúdo em tempo real. 

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...