ESEN

Cachés: navegador, servidor y CDN sin pisarse

· 8 min de lectura · por el equipo técnico de SISArgentina

Hay tres cachés y cada una resuelve un problema distinto: la del navegador evita volver a descargar lo que ya tenés, la del CDN evita ir hasta el servidor de origen, y la del servidor evita generar la página de nuevo. Configuradas juntas, una visita repetida no toca ni la base de datos ni la red. Mal configuradas, muestran contenido viejo y nadie sabe por qué.

Las tres capas, de afuera hacia adentro

CapaQué evitaDónde vive
NavegadorDescargar de nuevo lo que ya tieneEn el equipo del visitante
CDNLlegar hasta el servidor de origenEn nodos cerca del visitante
Servidor: páginaGenerar el HTML otra vezEn tu servidor
Servidor: objetosRepetir consultas a la baseEn memoria del servidor
Servidor: código compiladoRecompilar el PHP en cada pedidoEn memoria del servidor

Cuánto tiempo cachear cada cosa

  • Archivos con huella en el nombre —estilos, scripts, tipografías—: un año. Si cambian, cambia el nombre.
  • Imágenes: 30 días o más.
  • HTML de páginas públicas: minutos a horas, según cada cuánto cambie.
  • HTML de páginas personalizadas —carrito, cuenta, panel—: nunca.
  • Respuestas de API: según el dato; muchos toleran unos segundos y eso ya alivia muchísimo.

Lo que nunca se cachea

  1. Carrito, checkout y cuenta del usuario.
  2. Cualquier página que muestre datos de una persona en particular.
  3. Respuestas que dependan de una sesión iniciada.
  4. Formularios con protección contra falsificación de pedidos: el token cacheado deja de validar.

Por qué te muestra contenido viejo

Casi siempre es que se limpió una capa y no las otras. Se purga el caché del servidor, pero el CDN sigue sirviendo la versión anterior y el navegador del visitante también.

La solución de fondo es no depender de la limpieza: usá nombres con huella en los archivos estáticos, para que un cambio genere una URL nueva y las tres capas la traten como algo que nunca vieron.

Preguntas frecuentes

¿Necesito un CDN si mi público es solo argentino?

Menos que si estuviera repartido, pero igual ayuda: descarga al servidor de origen de servir archivos estáticos y absorbe picos. Con público local y servidor local, la ganancia de latencia es chica.

¿La caché de página sirve en una tienda?

Sí, para catálogo y fichas de producto, que son la mayor parte del tráfico. Carrito, checkout y cuenta quedan excluidos, y ese es el punto importante de la configuración.

¿Cuál instalo primero si solo puedo una?

La de código compilado, que es una opción del servidor y no requiere tocar el sitio. Después la de objetos y la de página, en ese orden.

Seguí leyendo