Configurar directivas de caching en Apache permite mejorar el rendimiento y la velocidad de carga de un sitio web al almacenar en caché ciertos archivos estáticos o contenidos dinámicos. Con estas directivas, se reducen las solicitudes al servidor, optimizando así la experiencia del usuario y el uso de recursos del servidor.
Las directivas de caching en Apache se configuran en el archivo .htaccess
o en la configuración principal del servidor para definir cómo y cuánto tiempo los navegadores o proxies deben almacenar en caché diferentes tipos de contenido. Esto es especialmente útil para archivos que no cambian frecuentemente, como imágenes, archivos CSS, y JavaScript, evitando que se descarguen cada vez que un usuario accede al sitio.
Apache permite la implementación de diferentes tipos de caché, como la caché de navegador y la caché del propio servidor. Para implementar caching en Apache, es necesario habilitar el módulo mod_expires
o mod_cache
.
El módulo mod_expires
permite establecer una fecha de expiración para los archivos en caché. Aquí tienes un ejemplo básico:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
# Imágenes
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
# CSS y JavaScript
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
En este ejemplo:
ExpiresActive On
activa el módulo mod_expires
.
ExpiresByType
especifica el tipo de archivo y el tiempo de expiración.
Directiva | Descripción | Ejemplo |
---|---|---|
ExpiresActive
|
Activa o desactiva mod_expires .
|
ExpiresActive On
|
ExpiresByType
|
Define el tiempo de expiración para un tipo específico. |
ExpiresByType image/png "access plus 1 year"
|
CacheEnable
|
Activa caché en mod_cache .
|
CacheEnable disk /path
|
CacheHeader
|
Controla encabezados de caché en los clientes. |
CacheHeader add Cache-Control "max-age=86400"
|
CacheIgnoreNoLastMod
|
Ignora recursos sin Last-Modified .
|
CacheIgnoreNoLastMod On
|
Otra opción de caché es mod_cache
, que almacena el contenido en el propio servidor Apache. Esto es útil para aplicaciones con contenido dinámico.
<IfModule mod_cache.c>
CacheQuickHandler off
CacheLock on
CacheRoot "/var/cache/apache2/mod_cache_disk"
CacheEnable disk /
CacheIgnoreNoLastMod On
CacheDefaultExpire 3600
CacheMaxExpire 86400
</IfModule>
Este ejemplo almacena en caché el contenido en disco, especificando el tiempo máximo y predeterminado de expiración.
Para más información sobre la configuración de directivas de caching, puedes consultar la documentación oficial de Apache.
Jorge García
Fullstack developer