Explicación detallada del funcionamiento del acelerador web

5 de abril, 2021 @ 18:01 — 0 comentariosDescargar PDF

El acelerador web es un sistema de caché avanzado que posibilita que cualquier web alojada en guebs responda de forma instantanea.

El sistema de cache funciona de tal forma que cuando un usuario accede a cualquier página de tu sitio web, dicha página y todos los recursos asociados ( imágenes, archivos CSS, etc. ) que se han enviado al usuario se almacenan en una caché temporal. Las siguientes visitas a la misma página web se servirán directamente desde la caché, sin necesidad de generar la página HTML y reduciendo de forma significativa el tiempo de respuesta.

El sistema únicamente cachea peticiones de tipo GET y HEAD, otros tipos como POST no se cachean en ningún caso.

Dos tipos de caché diferentes

Nuestros sistema de caché esta compuesto por 2 sistemas de caché diferentes: uno para recursos estáticos como imágenes, archivos CSS o archivos JS y otro para contenidos dinámicos, es decir, la respuesta generada por cualquier aplicación PHP, Ruby, Node, Python, etc.

Caché para contenido estático

La caché para recursos estáticos almacena y sirve desde la caché todos los archivos considerados como estáticos.

Este cache funciona de forma agresiva, es decir, lo cachea todo siempre, ignorando las cookies asociadas y lo que puedan decir las cabeceras HTTP.

Aunque lo cierto es que no siempre sirve desde la cache: el sistema incorpora cierta lógica que hace que los recursos estáticos solicitados por usuarios que estén logueados en gestores de contenido populares como WordPress, Joomla o Prestashop no se sirvan desde la caché.

Por defecto, la caducidad de está caché es de 1 minuto. Esto implica que si actualizas una imagen nada más ser almacenada por la caché y no estás logueado en un gestor de contenidos, tendrás que esperar hasta 1 minuto para ver la nueva versión de dicha imagen.

Si este comportamiento supone algún problema en tu web, tendrás que desactivar la caché estática.

Caché para contenido Dinámico

La caché para recursos dinámicos tiene 2 modos de funcionamiento: Predeterminado e Inteligente.

En el modo Predeterminado el sistema únicamente cachea aquellas páginas cuyas cabeceras HTTP indiquen que son cacheables y lo hace durante el tiempo que estipulen las cabeceras HTTP. En el modo Inteligente el sistema ignora las cabeceras HTTP e intenta servir desde caché todas las páginas web que identifique como públicas y cacheables.

El modo Predeterminado es muy conservador, ya que únicamente cachea aquellas páginas web o respuestas que tu aplicación web marca como públicas y cacheables en sus cabeceras HTTP. Esto significa que tu aplicación web puede controlar el funcionamiento de la cache, tal y como explicamos en la guía Como controlar el cacheado desde mi aplicación.

Pero debes saber que la mayoría de gestores de contenidos ( WordPress, Joomla, Prestashop, Moodle, etc. ) insertan cookies o envían cabeceras HTTP que imposibilitan el cacheado de contenidos, por lo que en el modo Predeterminado la mayoría de sitios web no se ven beneficiados por el Caché Dinámico.

En cambio, el modo Inteligente conoce el funcionamiento de los gestores de contenido más populares y sirve desde la caché las páginas públicas de sitios web creados con WordPress, Joomla y otros gestores de contenidos, pero únicamente a usuarios anónimos. Los usuarios que hayan iniciado sesión en el gestor de contenidos nunca reciben contenidos cacheados.

La caducidad por defecto del Caché Dinámico es de 1 segundo, que en la práctica es casi como si no lo tuvieras activo. Puedes modificar este valor según consideres adecuado, aunque los valores recomendados son 10 minutos y 1 hora.

Caché del lado de usuario

En el caso de activar la caché estática, el sistema intenta potenciar la caché del navegador para reducir la cantidad de solicitudes y mejorar la percepción de velocidad.

Para lograrlo, el sistema de caché inserta cabeceras de caducidad ( Expires ) en las respuestas HTTP correspondientes a archivos estáticos:

  • En el caso de archivos robots.txt se define una caducidad de 1 día
  • En el caso de archivos CSS y JS se define una caducidad de 30 días
  • Para el resto de archivos estáticos se define una caducidad de 60 días

Si en tu web estás definiendo reglas de caducidad ( Expires ) para los distintos tipos de archivos, debes saber que con la Caché estática activada tus reglas se ignoran, ya que se aplican las arriba indicadas.