Generador de Encabezados Cache-Control

Compón el valor de un encabezado HTTP Cache-Control a partir de las directivas que más importan a navegadores y CDNs — activa una casilla, escribe un número, pega un encabezado existente y la página lo desglosará en sus partes. Doce preajustes comunes (Desactivar caché, Caché larga inmutable, Stale-while-revalidate, …) a un clic, con un explicador por directiva y un párrafo de justificación que se actualiza según lo que actives. Puramente del lado del cliente — el encabezado de respuesta que construyas nunca sale de tu navegador.

Preajustes

Un clic para colocar una combinación razonable en el editor de abajo. Activa directivas después para personalizarla.

Directivas

Activa las directivas que deben aparecer en el encabezado generado. max-age, s-maxage y los campos auxiliares de obsolescencia toman segundos.

Valor del encabezado

Por qué esta combinación

Activa una directiva para ver la justificación.

Explicación por directiva

Analizar Cache-Control existente

Pega un valor de encabezado para cargarlo en el editor. El analizador pone los nombres en minúsculas, tolera espacios en blanco, marca las directivas desconocidas como advertencias y muestra el resultado en orden canónico.

Cómo funciona

El valor del encabezado se genera en un orden canónico — max-age / s-maxage primero (frescura), luego public / private (alcance), después la familia no-cache, luego los auxiliares de obsolescencia (stale-while-revalidate, stale-if-error), y al final los campos solo de petición. El orden en la caja de entrada es irrelevante — el generador elige el suyo.

no-store subsume cualquier otra directiva. Cuando no-store está activado, el generador sigue mostrando las filas de advertencia debajo de la justificación para que veas qué directivas quedaron inertes, pero el encabezado generado solo lleva no-store (o su combinación con private, que el RFC permite por claridad).

public y private son mutuamente excluyentes. Cuando ambos están activos en el editor, el generador conserva public (la interpretación optimista — private es más restrictivo, pero si escribiste ambos probablemente quisiste decir public, con la marca private como vestigial). De cualquier forma se emite un hallazgo de error.

La semántica sigue el RFC 9111 (HTTP Caching), que sustituye al RFC 7234. El catálogo de directivas cubre el conjunto estándar más las tres extensiones que vemos con más frecuencia en la práctica (immutable, no-transform, must-understand) y las tres directivas solo de petición (max-stale, min-fresh, only-if-cached) que los navegadores reenvían cuando las estableces en la opción cache de una llamada fetch().

Los navegadores y CDNs tratan Cache-Control como una pista, no como un contrato. Las ventanas privadas, el modo Incógnito, las herramientas de desarrollo con "desactivar caché" y los proxies corporativos pueden sobrescribir lo que establezcas. Trata el encabezado como el límite superior de cuánto se cachea, no como el inferior.