Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de ASP
SEÇÕES
Manuais relacionados
+Workshop de ASP
Categorias
+ASP
+Scripts em ASP

Índice do Manual Workshop de ASP
+ Melhorar o registro em buscadores
+ Include. Incluir arquivos ASP
+ Crie seu próprio buscador
+ O objeto RecordSet
+ Paginar resultados em ASP
+ Global .ASA
+ Contar usuários ativos
+ Percorrido arrays e coleções
+ Mais sobre cookies
+ Detector de navegador
+ Trabalho com o buffer da página
+ Utilização ou não do Cache
+ Objeto Server
+ Leitura e escritura de arquivos em ASP
+ Cálculo de dias que faltam para uma data
+ Componentes do servidor ASP
+ AspUpload
+ Exportar dados de MySQL a Microsoft Access
+ Exportar dados de Access a MySQL
+ Mandar e-mails pelo ASP
+ Criar banco de dados Access com ASP
+ Passagem de variáveis pela URL
+ Uso de CDONTS para script de recomendar a um amigo em ASP
+ Servidores nos EUA e o asp
+ Como fazer zonas aleatórias em asp
+ Selects dependentes com ASP e banco de dados
+ Sistema de Recomendação em ASP com CDONTS
+ Encaminhar o navegador a uma URL com ASP detalhado
+ Uso de cookies
+ Galeria de imagens em ASP
+ Escrever um arquivo Excel através de ASP
+ Tratar erros em sentenças SQL executadas em ASP
+ Validar uma data com ASP
+ Arredondar decimais em ASP
+ Devolver um arquivo de Word através de uma página ASP
+ Um Chat em ASP
+ Averiguar o endereço IP de um visitante e bloquear IPs, em ASP
+ Lista dos arquivos de um diretório com ASP
+ Percorrido genérico por um recordset com ASP
+ Intranets com ASP
+ Restringir o acesso a páginas com ASP
+ Saídas em formato compatível Excel
+ Variáveis de servidor em ASP
+ GeoLite Country para ASP. Conhecer o país de um IP
+ Um Sistema de postais Virtuais em ASP I
+ Um Sistema de postais Virtuais em ASP II
+ Messenger através de BD em ASP
+ Objeto Datagrid de ASP.NET em ASP
+ Percorrer campos de formulário complexos em ASP
+ Percorrer valor do campo auto-numérico depois de inserir em ASP
+ O Objeto Browser Capabilities
+ Buscador simples em ASP melhorado

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net
- CodigoFonte.net


Utilização ou não do Cache

Vemos as ferramentas que estão a nossa disposição em ASP que nos ajudam a controlar o uso do cache dos navegadores e servidores proxy.


É habitual que os programadores de páginas dinâmicas que ver com o cache, em algumas ocasiões e tenham que evitar que os navegadores a utilizem para que tudo funcione corretamente. Existem várias opções para configurar o comportamento do cache através dos cabeçalhos do HTTP, que são o que vamos introduzir neste capítulo.

Em geral, os navegadores salvam uma cópia de cada arquivo ao qual acessar no cache do navegador e quando consultam outra vez um arquivo que já tem no cache local comprovam a data da cópia que têm com a que está no servidor. Se os dois têm a mesma data de modificação o servidor lhe envia uma mensagem informando. Se ao contrário, a página que está no servidor é mais nova o servidor a envia ao cliente. Esta comprovação pode ser alterada graças aos cabeçalhos do HTTP, através das propriedades Response.Expires e Response.ExpiresAbsolute.

Response.Expires

Serve para indicar, em minutos, o tempo que há que passar até que a página perca a validade. Durante este tempo não se solicitará a página ao servidor e se utilizará a página que está no cache.

<%
response.expires=2 'vencerá em 2 minutos
%>


Se igualarmos a propriedade a 0, a página caduca instantaneamente, com o qual se evita o cachê.

<%
response.expires=0 'vence instantaneamente
%>


Response.ExpiresAbsolute

Com esta propriedade pode-se expressar o momento exato no qual caducará a página e a partir do qual o navegador não deve tomar do cache.

<%
response.expiresAbsolute=dateAdd("yyyy",1,now) 'vencera dentro de um ano
%>


Neste exemplo se define que a página caduca no ano seguinte depois de haver recebido, visto que se utiliza a função dateAdd() para acrescentar um ano ou a data atual. Poderíamos ter posto qualquer outra data composta pelo dia e a hora com o formato correspondente em nosso sistema.

Ejemplos:

Páginas públicas o privadas

Em algumas ocasiões é importante controlar a privacidade da informação que se manda. Suponhamos que em nosso acesso a Internet tenhamos um proxy perto. Os servidores proxy têm a sua própria memória cache e se um usuário acede a uma página a qual já tinha acessado outro usuário possivelmente o proxy lhe envie a cópia da página que tinha em sua memória cache. Em algumas ocasiões nos interessará que a página sirva o proxy e em outras nos interessará que a página sirva diretamente o servidor e isto poderemos dominar facilmente com Response.Expires. Porém, existe um caso especial que pode ser especialmente problemático que um usuário acesse a uma página que estava construída para outro, por exemplo no caso de que a informação fosse confidencial ou extraída para o usuário primeiro.

Para evitar que páginas com conteúdos pessoais possam ser mandadas a outras pessoas distintas de seu dono por culpa dos servidores proxy esá a propriedade Response.CacheControl. Se lhe atribuíamos o valor "Private" a página não será salva pelos servidores proxy. Se lhe atribuímos o valor "Public" as páginas sim que serão armazenadas nos servidores proxy e poderão ser enviadas a outras pessoas.

<%
Response.CacheControl = "Public"
%>

<%
Response.CacheControl = "Private"
%>


Outro truque

Outra maneira de evitar o cache, pode ser realizado de uma maneira mais artesanal. Trata-se de conseguir que o URL a qual acessamos sempre varie. Como sempre será distinta nunca se buscarão os arquivos do cache.

Conseguir que o URL da página seja sempre diferente pode ser feito graças ao passo de parâmetros pela URL, embora logo na página não utilizemos os parâmetros para nada, conseguiremos que a URL varie. Para mandar em um parâmetro sempre um número distinto podemos anexar uma variável que construímos com a hora do sistema.

<%
Tempo_url = year(now) & month(now) & day(now) & hour(now) & minute(now) & second(now)
%>
<a href="exemplocachev21.asp?parametro=<%=Tempo_url%>">Ver</a>


Não chegar a salvar a página no cache

Pode ser útil dizer ao navegador que não chegue a salvar a página no cache mandando-lhe um cabeçalho especial no HTTP, sobretudo em casos como o anterior, que estamos salvando muitas páginas no cache, uma por cada vez que se acesse com um parâmetro diferente na URL.

<%
Response.AddHeader "PRAGMA", "NO-CACHE"
%>


Com Response.AddHeader podem ser mandado mais tipos de cabeçalhos do http como a data de modificação do documento (LAST-MODIFIED) ou o tempo no qual tem que se realizar um refresh da página.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de ASP
Seguinte: Objeto Server

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em ASP
+ Entrar em Scripts em ASP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites