El módulo mod_expires
en Apache permite configurar encabezados de expiración HTTP, que indican al navegador cuánto tiempo debe almacenar en caché el contenido de un sitio antes de volver a solicitarlo al servidor. Esto ayuda a reducir la carga del servidor y a mejorar la velocidad de carga de las páginas, ya que los recursos estáticos (como imágenes, CSS y JavaScript) se sirven desde la caché del navegador en lugar de realizar nuevas solicitudes.
mod_expires
es un módulo de Apache que permite definir políticas de caché para varios tipos de contenido. Funciona mediante el envío de encabezados Expires
y Cache-Control
a los navegadores, indicando por cuánto tiempo un recurso debe considerarse válido sin necesidad de volver a solicitarlo al servidor.
mod_expires
suele venir instalado por defecto en Apache, pero en caso de que no esté activado, puedes habilitarlo siguiendo estos pasos:
1. Verificar si mod_expires está activado:
apachectl -M | grep expires
Si expires_module
no aparece en la lista, debes activarlo.
2. Activar mod_expires:
sudo a2enmod expires
3. Reiniciar Apache para aplicar los cambios:
sudo systemctl restart apache2
Puedes configurar mod_expires
en el archivo de configuración del sitio (por ejemplo, /etc/apache2/sites-available/000-default.conf
) o en un archivo .htaccess
. La configuración permite establecer tiempos de expiración personalizados para diferentes tipos de archivos (por extensión o tipo MIME).
Aquí tienes un ejemplo de configuración para controlar la expiración de diferentes tipos de archivos:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
# Imágenes - Expiran después de 1 año
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
# CSS y JavaScript - Expiran después de 1 semana
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
# Archivos HTML - Expiran después de 2 días
ExpiresByType text/html "access plus 2 days"
</IfModule>
mod_expires
para el contexto actual (directorio o sitio).
Cada línea de ExpiresByType
indica al navegador que puede mantener estos recursos en su caché durante el tiempo especificado (en este ejemplo, 1 year
para imágenes, 1 week
para CSS y JavaScript, y 2 days
para HTML).
Puedes configurar mod_expires
en un archivo .htaccess
para establecer reglas de caché en un directorio específico. Simplemente añade la configuración deseada al archivo .htaccess
:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/webp "access plus 1 year"
ExpiresByType font/woff2 "access plus 6 months"
ExpiresByType text/html "modification plus 1 hour"
</IfModule>
Configurar la expiración de contenido estático ayuda a mejorar el rendimiento, ya que reduce la cantidad de solicitudes HTTP y disminuye el tiempo de carga de las páginas. Sin embargo, es importante elegir tiempos de expiración adecuados para cada tipo de recurso. Por ejemplo, los recursos que cambian frecuentemente (como HTML) deben tener un tiempo de expiración más corto que los recursos estáticos (como imágenes).
Para más detalles sobre las opciones de configuración de mod_expires
, consulta la documentación oficial de Apache sobre mod_expires.
Jorge García
Fullstack developer