¡Hola! Me parece que andas usando un bloqueador de anuncios =( ¿Nos desbloqueas? ¿Por qué?
F13

Funcion 13

Las cabeceras de caché en PHP

Ya hemos hablado sobre cómo controlar la caché con mod_expires en Apache y cómo controlarla en las peticiones AJAX directamente con jQuery por lo que hoy vamos a hablar de cómo controlar las cabeceras de una petición con PHP para asegurarnos de que las respuestas que demos sean adecuadamente cacheadas.

Peticiones que no queden en caché

Para asegurarnos de que una página/petición nunca se guarde en caché (como un RSS), añade este sencillo código antes de devolver nada.

$ahora = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: $ahora");  
header("Last-Modified: $ahora");  
header("Pragma: no-cache");  
header("Cache-Control: no-cache, must-revalidate");  

Esto fuerza que cada vez que haga la petición, no la guarde en la caché.

Peticiones que queden en caché

Si lo que quieres es que quede en la caché durante una determinada cantidad de tiempo, tenemos que poner el parámetro Expires en algún tiempo en el futuro. Este código mantiene en caché una petición durante 30 días. Es el tiempo que tengo en la ubicación de las estaciones en BuSeViCi.

$segundos_cache = 30 * 24 * 60 * 60; // 30 días * 24 horas * 60 minutos * 60 segundos
$expira = gmdate("D, d M Y H:i:s", time() + $segundos_cache) . " GMT";
header("Expires: $expira");  
header("Pragma: cache");  
header("Cache-Control: max-age=$segundos_cache");  

Como ves, controlar la caché con PHP es bastante sencillo y, como ya hemos visto, mejora enormemente los tiempos de carga de la web.

Si el artículo te pareció interesante, útil o incluso equivocado, por favor considera el dejar un comentario. ¡Lo apreciaré mucho!

Programador Front-end en First + Third y Potato. Trabajando con JavaScript y HTML5 desde el corazón de Sevilla.

Comentarios ¡Únete a la conversación!