en: Programacion
Hay diferentes métodos que nos permiten optimizar la velocidad de nuestro servidor gracias al uso de .htaccess de Apache (httpd.conf). Estos métodos son realmente simples y seguramente consigamos un aumento importante en el rendimiento de nuestros sitios.
Antes de ver las opciones que nos ofrece este tipo de caché debemos saber en que situación la debemos utilizar y para ello nos viene bien conocer los tipos de cache que existen.
Podemos decir que hay tres tipos de caché: caché de navegador, caché proxy y caché de pasarela.
Cada una de ellas tiene un objetivo y se pueden combinar entre sí.
Cada tipo puede utilizarse de diversas formas, por ejemplo la caché de navegador es privada y está presente en la máquina de usuario por lo que sólamente puede ser utilizada por un único usuario.
La caché proxy interviene en la comunicación cliente-servidor y sirven páginas a diferentes usuarios, suele ser usada por los proveedores de servicios de Internet (ISP), universidades y empresas para ahorrar ancho de banda.
La caché de pasarela funciona por parte del propio servidor y no distingue entre usuarios.
Este tipo de cache se produce entre el cliente y el servidor, nos permite salvar copias de las respuestas al cliente (HTML, imágenes, hojas de estilo), el funcionamiento es sencillo ya que la próxima vez que el cliente necesite ese archivo ni se molestará en preguntar al servidor y utilizará la copia previamente guardada.
Con este tipo de caché conseguiremos reducir la latencia y reducir el tráfico necesario para resolver las peticiones.
Reducimos la latencia porque la cache se encuentra en el lado del cliente y obtenemos mejores tiempos de respuesta a la hora de servir la página.
Reducimos el tráfico porque al recibir un menor número de peticiones por parte del cliente el ancho de banda necesario para servir la página es inferior.
Tenemos que tener claro que hay tres mecanismos básicos para controlar la caché web.
Puedes encontrar información adicional en htaccess Caching.
# 1 AÑO <FilesMatch "\.(ico|pdf|flv)$"> Header set Cache-Control "max-age=29030400, public" </FilesMatch> # 1 SEMANA <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> # 2 DIAS <FilesMatch "\.(xml|txt|css|js)$"> Header set Cache-Control "max-age=172800, proxy-revalidate" </FilesMatch> # 1 MINUTO <FilesMatch "\.(html|htm|php)$"> Header set Cache-Control "max-age=60, private, proxy-revalidate" </FilesMatch>
Uno de los objetivos principales para un administrador es ofrecer el mejor servicio posible y para ello es necesario un acceso rápido al contenido, en este sentido hay muchas soluciones a nivel de software que permiten realizar el cacheado de nuestro sitio web.
Lo mejor es analizar como mínimo dos soluciones y probar su funcionamiento y el aumento de rendimiento que conllevan cada una de ellas, una vez evaluados los datos la elección será mucho más óptima.
5 Respuestas a Cache en tu web con .htaccess
manu
10 de Octubre de 2008 a las 10:01 am
Buenas Jose
, prometo que la próxima vez que escriba sobre este tema haré hincapié en la caché desde el servidor y sus ventajas.
Pero bueno hay que entender que nos siempre se le puede dedicar a un post el tiempo que queremos…
Un abrazo crack!!
Chefwww
10 de Octubre de 2008 a las 8:16 am
Supongo que lo que te refieres es que la caché del servidor, una vez creada sirve para muchos usuarios diferentes que requieran la misma página exacta. En cambio con la caché a nivel de navegador, esta solo sirve a partir de la segunda página que entras. Es decir tu entras en una web, se te bajan todas las imagenes con la expiración de aquí 10 años, en la segunda página que use alguna de estas imagenes pues no las tendrá que bajar de nuevo.
SERVIDOR
========
Ventajas: Sirve para más de un usuario, aumenta la velocidad enormemente sobretodo si hay consultas con base de datos.
Desventajas: Ocupa espacio, requiere más cálculo a veces (aunque normalmente sale muy cuenta). Si haces un cambio, tarda un rato en reflejarse en la web de producción
NAVEGADOR
=========
Ventajas: Solo tienes que cargar los css e imagenes la primera vez.
Desventajas: Solo sirve para el propio usuario que accede con el navegador.
Bueno si se me ocurre algo más ya lo pondré.
jose
10 de Octubre de 2008 a las 3:43 am
Pues eso,que no planteas ni de lejos sistemas de caché desde el servidor, y que ventajas y problemas tienen. Por ejemplo, ¿el caché por parte del navegador que ahorro nos proporciona de cara a dos usuarios distintos?
Ains… estos post’s a medias
.
Saludos tio!
Gran curro (no sabía demasiado bien como va el caché de proxy).