HTTP & Request Debugging

generador de Cache-Controlsepara almacenamiento y reutilización

Analiza un encabezado de respuesta o constrúyelo con el formulario. La edad actual se supone para el ejemplo.

generador de Cache-Control

Cache-Control de respuesta

Los valores se procesan en este navegador. No se envían peticiones al origen.

Encabezado resultante actual

Navegador / caché privada

Fresca en este ejemplo de edad

max-age: duración de 3600 segundos

Frescura restante: 3600 segundos

Caché compartida / CDN

Fresca en este ejemplo de edad

s-maxage: duración de 86400 segundos

Frescura restante: 86400 segundos

Al caducar, estas directivas exigen validar antes de reutilizar.

Se supone una respuesta ya almacenada y la edad indicada abajo. La frescura no garantiza almacenamiento ni reutilización; también rigen otros encabezados y reglas de plataforma.

Supón un current_age entre 0 y 2147483648. Age por sí solo no cubre todo el tránsito y la residencia. Este ejemplo es estático.

Directivas analizadas

public

Permite almacenamiento compartido si se cumplen las demás condiciones.

Línea 1, columna 16

max-age=3600

Duración privada y compartida cuando no hay s-maxage.

Línea 1, columna 24

s-maxage=86400

Sustituye max-age en cachés compartidas, no en navegadores.

Línea 1, columna 38

Mostrando 3 de 3 directivas

Notas de la política

No se detectaron problemas en las directivas modeladas. Esto no verifica el despliegue.

3 directivas · 0 notas

Una copia puede haber caducado en el navegador y seguir fresca en la caché compartida. El generador de Cache-Control muestra ambas duraciones para investigar ese desfase sin confundir almacenamiento con reutilización.

Puedes preparar un encabezado Cache-Control nuevo mientras conservas el valor que estás analizando. La caché del navegador y la compartida se explican por separado; las extensiones desconocidas no desaparecen al cambiar al formulario.

Por qué usar este generador de Cache-Control

Conserva las pistas del encabezado

El generador de Cache-Control mantiene duplicados, orden y argumentos entre comillas. La coma de private="X-Foo, X-Bar" forma parte del argumento. El formulario tiene su propia entrada y no sustituye el texto que estás investigando.

Un encabezado se divide en tarjetas que conservan las directivas, junto a controles de construcción independientes.

Compara dos períodos de frescura

El ejemplo combina max-age=3600 y s-maxage=86400. Con una edad supuesta de 4000 segundos, la copia del navegador está caducada y a la compartida le quedan 82400 segundos de frescura. Eso no garantiza un acierto de caché.

Un navegador y una caché compartida muestran períodos de frescura distintos con un mismo marcador de edad.

Tres decisiones antes de elegir la duración

01

Pega únicamente el campo pertinente

Se acepta un valor en una línea o varias líneas Cache-Control:. Un bloque completo con Age o ETag se rechaza; así no se omiten campos sin avisar durante una supuesta revisión completa.

02

Distingue vacío de cero

Un campo de tiempo vacío omite la directiva; 0 produce cero segundos explícitos. Cargar el ejemplo y vaciar muestran primero una vista previa. Deshacer restaura una vez las entradas de ambos modos, la edad y el resultado anterior.

03

Cambia la edad para probar el límite

El análisis automático espera 350 ms tras editar. Desactívalo para usar el botón o Ctrl/Cmd + Enter. Una edición bloquea inmediatamente la exportación del resultado anterior. La edad es un supuesto estático, no un reloj medido.

Directivas, argumentos y efectos

Analiza sin borrar argumentos

Los nombres no distinguen mayúsculas y se emiten en minúsculas. Se conservan argumentos, comillas, orden y repeticiones, y se omiten elementos vacíos entre comas. Cada directiva incluye línea y columna.

Compón directivas de respuesta

Nueve interruptores y cuatro campos de tiempo cubren los ajustes habituales. max-age y s-maxage, junto con ambas extensiones stale, admiten segundos enteros hasta 2147483648. Las selecciones contradictorias se explican sin borrarlas automáticamente.

Distingue duración y permiso

no-cache ordinario exige una validación satisfactoria antes de reutilizar; no-store prohíbe almacenar. Una duración positiva no demuestra que se cumplan todos los requisitos de almacenamiento. s-maxage sustituye max-age en la caché compartida.

Muestra cuándo falta contexto

Las extensiones desconocidas, restricciones por campo y must-understand necesitan más datos. Los duplicados conocidos y argumentos inválidos impiden una conclusión numérica. La lista avanza de 50 en 50; la copia y el archivo contienen todo el encabezado actual.

Qué permite concluir un solo encabezado

Solo Cache-Control de respuesta
No se consultan URL ni se evalúan juntos ETag, Vary y Expires. Las directivas de petición se conservan con una nota de alcance. No se ofrecen configuraciones de servidor, subida de archivos ni procesamiento por lotes.
Sin fecha real de caducidad
El cálculo resta la edad supuesta a la duración. No incluye corrección de Date, tránsito ni residencia. Sin duración explícita aún pueden existir Expires o reglas heurísticas; no se concluye automáticamente que la respuesta no pueda almacenarse.
Sin validación de proveedores
Las reglas CDN, autenticación, estado y clave de caché pueden cambiar el comportamiento. No tener notas no equivale a aprobar un despliegue. La herramienta no purga cachés ni garantiza almacenamiento o aciertos.
Entradas y números limitados
Se admiten 16384 unidades UTF-16 y 128 directivas. Un error de sintaxis bloquea la exportación e indica su posición. Los segundos analizados fuera de rango conservan su texto sin inferencia numérica; el formulario y la edad tienen un máximo de 2147483648.
Las excepciones no añaden frescura
stale-while-revalidate y stale-if-error permiten ciertas reutilizaciones tras la caducidad. No se suman al período de frescura. Si conviven con restricciones de validación se indica, sin simular cada implementación.

Preguntas sobre el generador de Cache-Control

¿Cómo se distinguen no-cache y no-store?

no-cache ordinario permite almacenar, pero exige validar correctamente antes de cada reutilización. no-store prohíbe almacenar la respuesta. Ninguno ordena eliminar todas las copias que ya existen.

¿Para qué se utiliza immutable al configurar la caché?

immutable declara que la representación no cambiará mientras esté fresca y permite evitar validaciones ordinarias. No crea una duración ni impide toda recarga forzada. Al caducar se aplican las reglas normales. Sus argumentos se ignoran y varias apariciones equivalen a una.

¿Qué cachés controla max-age y cuáles controla s-maxage?

max-age se aplica a cachés privadas y compartidas que no tengan s-maxage. s-maxage define la duración compartida y exige validar después de caducar. No alarga la duración que utiliza el navegador.

¿Cómo elegir entre public y private?

public puede servir para respuestas compartibles entre usuarios; private normalmente limita el almacenamiento a una caché privada. También hay que revisar contenido y autenticación. private no cifra datos, y su forma con una lista de campos tiene un significado más específico.

¿Qué permite stale-while-revalidate cuando caduca una respuesta?

Durante la ventana indicada se puede reutilizar una respuesta caducada mientras se intenta validarla en segundo plano. Depende de las peticiones y del soporte de la caché. No garantiza que se sirva la copia antigua ni la convierte en fresca.

¿Hay algún problema?

Revisa la política antes de publicarla

generador de Cache-Control: revisa tu encabezado con una edad supuesta y compara ambas cachés antes de copiar el resultado.