Cuando un sitio hispanohablante se sirve a través de una CDN como Cloudflare —muy común en España y Latinoamérica—, aparecen cabeceras propias del proveedor como cf-ray (identificador único de la petición, útil al reportar un problema a soporte) y cf-cache-status (indica si la respuesta vino de la caché del borde o del servidor de origen). Son cabeceras invisibles para el usuario final, pero esenciales para depurar por qué una página tarda más de lo esperado.
Cabeceras de petición frente a cabeceras de respuesta
Las cabeceras de petición (como Accept, User-Agent, Cookie) el navegador las envía al servidor, describiéndose a sí mismo y sus expectativas. Las cabeceras de respuesta (Content-Type, Set-Cookie, Cache-Control) el servidor las envía de vuelta, describiendo los datos devueltos e instrucciones para el navegador.
Para qué sirve Content-Type
La cabecera Content-Type le indica al navegador cómo interpretar el cuerpo de la respuesta: como una página HTML, datos JSON, una imagen o un archivo para descargar. Sin el valor correcto en esta cabecera, el navegador puede intentar mostrar un JSON como texto plano o, al contrario, gestionar mal un HTML.
Cómo Cache-Control controla el caché
Valores como max-age=3600 o no-cache indican al navegador y a los proxys intermedios cuánto tiempo puede usarse una versión en caché de un recurso sin volver a pedirla al servidor. Una mala configuración de esta cabecera es una causa común de que los usuarios vean una versión desactualizada de un sitio.
Para qué se necesita esto
- Diagnosticar por qué un navegador está mostrando mal la respuesta de una API.
- Identificar cabeceras propias de la CDN, como las de Cloudflare, al depurar problemas de caché o latencia.
- Confirmar que un sitio se sirve por HTTPS, requisito obligatorio para que funcione la Web Crypto API de la que dependen las herramientas de hash y JWT de este mismo sitio.
Por qué a veces una cabecera aparece repetida
HTTP permite que la misma cabecera aparezca varias veces en una respuesta — el caso más habitual son varias líneas Set-Cookie, una por cada cookie que se establece. La mayoría de las demás cabeceras repetidas se pueden combinar en un único valor separado por comas sin cambiar su significado, pero Set-Cookie es una excepción deliberada, porque una coma podría formar parte legítimamente del valor de una cookie.