Contáctanos
Webflow Premium Partner Ehab Fayez
Volver a Agent Skills
Datos y Analítica

CDN Caching Strategies

Implementa caché CDN con cabeceras Cache-Control, stale-while-revalidate y patrones de invalidación de caché.

Claude Code Cursor Copilot Windsurf

Descripción General

El caché CDN (Content Delivery Network) almacena copias de tu contenido en ubicaciones edge en todo el mundo, reduciendo la latencia y la carga del servidor. Un caché CDN efectivo requiere comprender las cabeceras Cache-Control, la configuración de claves de caché y las estrategias de invalidación. Los CDNs modernos como Cloudflare, Vercel Edge y AWS CloudFront proporcionan control programático sobre el comportamiento del caché.

La cabecera Cache-Control es el mecanismo principal para controlar el caché CDN. Las directivas clave incluyen max-age (cuánto tiempo almacenar en caché), s-maxage (TTL específico del CDN), stale-while-revalidate (servir contenido obsoleto mientras se actualiza en segundo plano) y stale-if-error (servir contenido obsoleto ante fallo del origen). Estas directivas pueden combinarse para crear estrategias de caché sofisticadas que equilibren frescura con rendimiento.

La invalidación de caché es el problema más difícil en el caché CDN. Las estrategias incluyen URLs versionadas (hash de contenido para assets estáticos), surrogate keys (purga basada en etiquetas) y purga suave (marcar contenido como obsoleto sin eliminarlo). Para contenido dinámico, la computación en el edge (Cloudflare Workers, Vercel Edge Functions) permite implementar lógica de caché personalizada en la capa CDN, incluyendo caché por usuario, pruebas A/B y variación de contenido basada en geolocalización.

¿Para Quién Es?

  • Configurar cabeceras Cache-Control para contenido estático y dinámico
  • Implementar stale-while-revalidate para cargas de página casi instantáneas
  • Configurar invalidación de caché para actualizaciones de contenido
  • Usar caché en el edge para respuestas de API con TTLs variables

Instalación

Configurar Claude Code
npm install @cloudflare/workers-types

Configuración

// Next.js API route with caching headers
export async function GET() {
  const data = await fetchData()
  return new Response(JSON.stringify(data), {
    headers: {
      "Cache-Control": "public, s-maxage=60, stale-while-revalidate=300",
      "CDN-Cache-Control": "max-age=3600",
      "Surrogate-Key": "posts homepage",
    },
  })
}

// Cloudflare Worker cache API
const cache = caches.default
const cachedResponse = await cache.match(request)
if (cachedResponse) return cachedResponse