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

Funcion 13

Controla la caché del navegador con Apache mod_expires

Recientemente estuvimos viendo los pormenores de la caché por parte del navegador. Especialmente nos centramos en métodos sobre cómo evitar que las peticiones AJAX fueran cacheadas por el navegador.

Sin embargo, el módulo mod_expires de Apache, nos permite establecer ajustes por tipo de archivo para controlar cuánto tiempo debería almacenar el navegador el archivo. Esto es realmente útil para aligerar la carga del sitio, especialmente si el sitio contiene grandes hojas de estilos, imágenes y código CSS. Esto ahorrará unos segundos de carga en el mejor de los casos que son de agradecer con conexiones muy lentas.

Personalmente, es una de las cosas que suelo hacer cuando finalizo la web de un cliente, para darle mayor velocidad a la web.

Ten en cuenta que el uso de lo que se explica en este artículo se recomienda para entornos de producción y no de desarrollo.

Asegúrate de que mod_expires está activado

Antes de empezar, tenemos que asegurarnos de que mod_expires está activado en Apache. En la mayoría de los alojamientos compartidos lo está. En caso de que no fuera así, tendríamos que ponernos en contacto con nuestro proveedor de alojamiento para ver si es posible activarlo.

No obstante, si lo instalaste a mano, puede que no sea así. En un entorno Debian, ejecuta el siguiente comando para activarlo:

sudo a2enmod expires  

Y nos dirá algo como:

Enabling module expires. Run '/etc/init.d/apache2 restart' to activate new configuration!  

Es necesario reiniciar Apache para activarlo. En caso de que mod_expires ya estuviera activado, veríamos algo como:

Module expires already enabled  

Configura mod_expires en el archivo .htaccess

Las reglas que vamos a explicar, deben ser añadidas en el archivo .htaccess en la carpeta raíz de tu web. Si no hay un archivo .htaccess, tendrás que crear uno.

El archivo debería incluir lo siguiente:

ExpiresActive on  

Esto indica que el modulo expires debe estar activado. Ahora vamos a ver las reglas necesarias. Para configurar cuánto debería durar un tipo de archivo en concreto en la caché del navegador, añade una línea que siga la siguiente regla:

ExpiresByType [tipo mime] “access plus [numero] [franja]”  

La franja debería ser una de las siguientes (viene traducida por si no sabéis inglés):

  • yearaño
  • monthmes
  • weeksemana
  • daydía
  • hourhora
  • minuteminuto
  • secondsegundo

He aquí un ejemplo común:

ExpiresActive on ExpiresByType application/javascript "access plus 1 month"  
ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month"  

Esto asegura que todos los archivos JavaScript, imágenes y archivos CSS de la web son almacenados en la caché del navegador durante un mes desde la primera petición.

Ten en cuenta que esto es realmente agresivo y que cualquier cambio en un archivo no se verá reflejado. Si se hacen cambios en un archivo, tendrás que cambiar el nombre del fichero para evitar problemas de caché por lo que recalco una vez más la importancia de que esto se haga en un entorno de producción, una vez que estemos seguros de todos los cambios.

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!