Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Cache e PHP

Colaboração: André Milani

Data de Publicação: 11 de abril de 2010

Olá pessoal! Meu nome é André Milani, sou autor de livros de bancos de dados e programação e também instrutor da Softblue. Este é o meu blog pessoal onde pretendo abordar temas de tecnologia na área de programação e desenvolvimento de softwares, em especial o PHP, SQL e assuntos referentes a bancos de dados.

Neste primeiro post eu gostaria de compartilhar uma situação que aconteceu com um leitor do meu livro de PHP e MySQL sobre cache. Levamos um bom tempo para conseguir detectar que o problema não estava no código PHP, mas sim no cache do navegador. Então, para prevenir este problema, vão aí algumas dicas bem interessantes:

Forçando um refresh

Muitos sabem que a tecla F5 dos navegadores, pelo menos na maioria deles, serve para atualizar a página. Este procedimento é chamado de refresh (nome em inglês). O que nem todos sabem é que o comando F5 realiza um refresh com base em algumas configurações de data de expiração dos arquivos em questão, e que dependendo da data, somente a tela é atualizada, mas não os conteúdos dos arquivos cujas datas ainda não expiraram.

Para resolver esta situação, utilize o comando CTRL + F5. Este comando força o refresh dos arquivos, independente da data de expiração. Ele apaga do cache de seu navegador todos os arquivos da página em questão, e solicita todos os arquivos novamente ao servidor.

Evitando o cache em PHP

Mesmo conhecendo o comando CTRL + F5, pode ser que nem todos os visitantes de nossos sites conheçam este recurso, ou ainda, saibam que a página está em cache. Por este motivo, é interessante prevenir que as páginas utilizem cache, fazendo com que seus visitantes sempre acessem as páginas com as últimas atualizações realizadas.

Para prevenir o uso do cache em PHP, utilize o comando header setando duas propriedades específicas:

   // HTTP/1.1
  header("Cache-Control: no-cache, must-revalidate");
  
   // Date in the past
  header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");

A primeira propriedade é a Cache-Control, que informa ao navegador, ou qualquer proxy que possa estar no caminho do arquivo, para não armazená-lo em cache.

A segunda propriedade é a Expires, que define a data de expiração do arquivo. É possível definir uma data já passada, para que o cache já seja entendido como expirado, ou então é possível definir a sua data de expiração. Esta propriedade deve ser informada para arquivos que possuem alto volume de acesso, mas baixa taxa de atualização, o que otimiza recursos do servidor.

Vale a pena mencionar que, ao utilizar o comando header, nenhuma informação pode ser impressa antes pelo PHP, nem por meio de comando echo, print ou outro. Esta é uma particularidade do comando header, e maiores informações podem ser encontradas no manual do PHP, clicando aqui.

André Milani é instrutor oficial da Softblue Cursos On-Line onde possui um blog sobre PHP e bancos de dados, formado em Ciência da Computação pela PUC-PR, pós-graduado em Business Intelligence pela mesma instituição e possui diversas certificações na área de TI. É também autor de vários livros na área de informática, entre eles o MySQL - Guia do Programador, PostgreSQL - Guia do Programador e Construindo Aplicações Web com PHP & MySQL, todos pela editora Novatec, os quais podem ser encontrados nas principais livrarias, inclusive no Submarino. Possui mais de 8 anos de experiência em desenvolvimento web, atuando há mais de 4 anos com cursos e treinamentos de profissionais.

Veja a relação completa dos artigos de André Milani

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.98/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 3.0 /5 (982 votos)

Opinião dos Leitores

Gabriel
30 Dez 2010, 17:35
Parabens pelo post, ótima dica. Muita gente nem sabe que esse comando existe.
Parabéns;
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

PDF Explicado