Skip to main content

Cómo configurar la caducidad de la caché con Apache

En esta entrada veremos cómo configurar el tiempo de caducidad de un objeto en la caché del navegador del usuario desde la configuración del servidor Apache.

Los navegadores, para reducir la cantidad de datos que descargan del servidor tienen un almacén que llamamos cache donde guardan estos datos. El propósito de guardarlos por el navegador es poder usarlos próximamente. Los datos en caché son típicamente ficheros de imagen aunque pueden ser otros tipos de ficheros, como los mismos html. Los elementos en la caché tiene un tiempo de caducidad que el propio navegador asigna a su consideración.

Así el navegador cuando interpreta una página web y necesita descargar una imagen primero consulta si dispone de ella en la caché. Si está en la caché y no ha caducado todavía la toma de ahí en vez de descargarla de nuevo.

Por el lado del servidor también es importante, ya que de este modo el servidor enviará menos datos reduciendo el ancho de banda empleado y sirviendo la página más rápidamente, y quedando libre para otras tareas. El servidor Apache tiene un mecanismo para informar al navegador  que los elementos que envía se guarden en la caché del navegador por un tiempo determinado.

Apache dispone de un módulo llamado expires que se encarga de poner fecha de caducidad a los elementos que el navegador pondrá en caché. Expires se configura mediante los archivos .htaccess y afecta a los archivos del directorio donde se elija y sus subdirectorios.

Para configurar expires debemos añadir al .htaccess una nueva sección para su configuración. Si no existiera el archivo .htaccess lo creamos nuevo.

La clave ExpiresActive hace efectiva la configuración del módulo expires. ExpiresDefault configura por defecto todos los tipos de archivo. En el ejemplo vemos que la caducidad es de más de 6 meses. Otra clave que puede usarse ExpiresByType text/css permite configurar para un tipo de archivo específico(en este caso las hojas de estilo css).

Otra forma de especificar el tiempo es indicándolo en segundos ExpiresDefault A86400, donde la A indica Acceso y el número posterior el tiempo, en este caso un día.

Apache

 

Cómo activar el módulo expires

El módulo expires es una herramienta del servidor Apache cuya función es informar al navegador del usuario cuanto tiempo se recomienda que un objeto se guarde en su caché.

El navegador para hacer más rápida la experiencia de navegación en la web almacena en el disco duro del usuario todo tipo de archivos. Estos pueden ser imágenes o el propio contenido html. De este modo el navegador ahorra la repetida descarga de ellos.

Esto también es bueno para el servidor, ya que así no tendrá que enviar una y otra vez los mismos archivos.

Para activar este modulo de Apache debemos ejecutar en consola los comandos:

En un servidor Debian o Ubuntu.

Apache HTTP server