Comprobador de Cabeceras HTTP
Consulta las cabeceras de respuesta HTTP y la cadena de redirecciones de cualquier URL, con una auditoría de cabeceras de seguridad.
Cargando Comprobador de Cabeceras HTTP… Si no ocurre nada, activa JavaScript.
Toda respuesta web empieza con un bloque de cabeceras HTTP que el visitante nunca ve: el código de estado, adónde apunta una redirección, cuánto tiempo puede guardarse la página en caché, qué tipo de contenido es y un conjunto de instrucciones de seguridad para el navegador. La mayoría de los problemas de SEO, rendimiento y seguridad dejan ahí su primera pista: un bucle de redirecciones, un 302 que debería ser 301, una cabecera HSTS que falta, un CDN que se niega a cachear. Esta herramienta solicita una URL desde nuestro servidor y muestra esas cabeceras tal como llegan.
Ejemplos
http://github.com
301 → https://github.com/ → 200
Una redirección de HTTP a HTTPS y después la página final con HSTS, CSP y X-Frame-Options configurados.
Cache-Control: max-age=0, private, must-revalidate
Stored, but revalidated with the server on every use (browser only, not CDNs).
El resumen de caché traduce las directivas a lenguaje claro.
Preguntas frecuentes
¿Qué diferencia hay entre una redirección 301 y una 302?
¿Cuántas redirecciones son demasiadas?
¿Qué cabeceras de seguridad son las más importantes?
¿Por qué veo cabeceras distintas a las de las herramientas de desarrollo de mi navegador?
¿Por qué la herramienta indica GET en lugar de HEAD?
¿Puedo comprobar una página en localhost o en mi red interna?
¿La herramienta comprueba el certificado TLS?
¿Se guardan las URL que compruebo?
Acerca de Comprobador de Cabeceras HTTP
Pega una URL y el comprobador la solicita como lo haría un navegador, sin seguir las redirecciones automáticamente. Cada salto aparece en orden con su código de estado, el tiempo de respuesta y la lista completa de cabeceras, para que veas todo el recorrido desde http://example.com hasta el https://www.example.com/ final y detectes saltos de más que ralentizan la primera visita. Haz clic en cualquier salto para ver sus cabeceras, fíltralas por nombre o valor y cópialas como texto plano.
La respuesta final pasa por una auditoría de cabeceras de seguridad. La herramienta revisa Strict-Transport-Security (y su max-age), Content-Security-Policy (y si todavía permite scripts unsafe-inline), X-Frame-Options o frame-ancestors de la CSP contra el clickjacking, X-Content-Type-Options, Referrer-Policy, Permissions-Policy y Cross-Origin-Opener-Policy, y señala las cabeceras que revelan versiones del software del servidor. Cada punto explica en lenguaje claro qué hace la cabecera y qué falta. Una sección aparte traduce Cache-Control, Expires, ETag, Age y Vary en una respuesta de una línea sobre cómo se cachea la página.
Las peticiones salen de nuestro servidor, así que ves la respuesta pública y no lo que envía tu navegador o un proxy local. Primero se prueba una petición HEAD y se usa GET cuando el servidor rechaza HEAD, deteniéndose en cuanto llegan las cabeceras para no descargar el cuerpo de la página. Solo se permiten http y https en los puertos 80, 443, 8080 y 8443, cada destino de redirección se vuelve a comprobar y las direcciones privadas o internas están bloqueadas.
Cabeceras que sobrevivieron a su propósito
Las cabeceras HTTP acumulan historia. La cabecera Referer está mal escrita porque Phillip Hallam-Baker la escribió con una sola 'r' en el borrador de los años 90, y cuando alguien se dio cuenta ya había servidores por todas partes que dependían de ella. La más reciente Referrer-Policy sí está bien escrita, así que la web lleva ahora las dos grafías una junto a otra.
X-XSS-Protection es una cabecera que acabó desactivándose a propósito. Internet Explorer 8 introdujo un filtro de XSS en 2008 y Chrome lo siguió, pero los investigadores descubrieron que el propio filtro podía aprovecharse para filtrar datos o desactivar scripts legítimos. Chrome eliminó su XSS Auditor en 2019, y el valor recomendado hoy es 0, o ninguna cabecera, dejando el trabajo de verdad a Content-Security-Policy.
El propio prefijo X- quedó oficialmente desaconsejado por el RFC 6648 en 2012. La idea era que las cabeceras experimentales llevaran X- y lo perdieran al estandarizarse, pero cabeceras populares como X-Forwarded-For y X-Frame-Options nunca lo perdieron, porque cambiarles el nombre solo habría roto cosas. Las cabeceras nuevas se registran ahora sin él desde el principio.