Evitar que mi web sea almacenada en la caché del navegador
- Detalles
- Categoría: Web y Servidores
- Última actualización el Lunes, 23 Mayo 2011 00:41
- Escrito por cybnet
- Visto: 2743
No es mi caso pero puede ser el vuestro. Puede que queráis evitar que el navegador del visitante de tu web almacenada tu página en la caché. Esta situación puede darse en multitud de situaciones y, sobre todo, si es una página que se actualiza muy frecuentemente con el objetivo de que cuando el usuario visite de nuevo tu web pueda apreciar correctamente la actualización de la misma.
Para evitar que el navegador almacene una página web en la caché se usa etiquetas meta en el html, y hay varias que hacen el trabajo y todas ellas funcionan correctamente:
Indicando la última modificación de la página en 0 (cero):
<meta http-equiv="last-modified" content="0">
Indicando el meta "expires":
<meta http-equiv="expires" content="0">
Utilizando la etiqueta meta "cache-control":
<meta http-equiv="cache-control" content="no-cache, mustrevalidate">
Utilizando la etiqueta meta "pragma":
<meta http-equiv="pragma" content="no-cache">
Por supuesto, como todas las etiquetas meta, deben ir entre <head> y </head>.
Estas etiquetas meta también se pueden enviar como header del documento en la respuesta del servidor cuando se solicita el documento del modo. Por ejemplo, podemos crear este header con php:
<?php
header ("Expires: Thu, 27 Mar 1980 23:59:00 GMT"); //la pagina expira en una fecha pasada
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); //ultima actualizacion ahora
header ("Cache-Control: no-cache, must-revalidate"); //no guardar en CACHE
header ("Pragma: no-cache");
?>
Usando una opción u otra lograremos que el navegador del visitante no utilice su caché para almacenar el contenido de la página.
etiquetas meta - caché - páginas web - navegadores - html - head - pragma - no-cache - cache-control - expires - last-modified - php - php header
Este es un problema que tenía con el Internet explorer y no sabía a que se debía.El Google Chrome por el contrario, no lo hacía, le dabas a actualizar y ya cogía el .html del servidor.
Para las modificaciones con editor de texto y su posterior comprobación con el IE es imposible, por lo menos en mi caso.
Muchas gracias!!!
Pedro.

Asegúrate de que los headers los pones antes de que el servidor de salida a cualquier otro contenido. Si aún así te sigue saliendo el error mírate este artículo a ver si te ayuda: Cannot modify header information - headers already sent.
Ola discupen...Utilizo un codigo similar que es esto:
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache");
?>
y bueno lo monto en mi servidor Apache (configurado manualmente con php y mysql)
y al correr mi pagina me sale un error...similar a este...
Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\web\conexion.php:1) in C:\Servidor\web\pedidos.php on line 15
espero y puedan ayudarmee... con esto






RSS
Perfil
Artículos
RSS