Verificador de encabezados HTTP
Un comprobador de cabeceras HTTP consulta una URL y muestra las cabeceras de respuesta que devolvió el servidor. Pega una dirección, pulsa Check Headers y obtienes el código de estado, el número de cabeceras y una nota de seguridad: github.com responde 200 con 17 cabeceras y un 86 %, y example.com responde 200 con 9 cabeceras y un 0 %.
Security Headers Audit
Response Headers
Recent
Herramientas populares
Acerca de Verificador de encabezados HTTP
Escribe una dirección de página en el campo —si omites el esquema, él añade https://— y pulsa Intro o Check Headers. Las ocho fichas de debajo (google.com, github.com, cloudflare.com, amazon.com, facebook.com, twitter.com, netflix.com y apple.com) lanzan la comprobación al momento si solo quieres una referencia. La petición la hace el servidor de este sitio y no tu navegador, así que lo que vuelve es lo que ve un cliente limpio: sin tus cookies, sin extensiones y sin sesión iniciada.
Tres tarjetas resumen la respuesta: HTTP Status, en verde para 2xx, ámbar para 3xx y rojo en el resto; Headers Count; y Security Score. Esa nota es sencillamente cuántas de siete cabeceras están presentes, en porcentaje: Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy y Permissions-Policy. github.com saca un 86 % porque seis de las siete están y falta Permissions-Policy.
La auditoría de cabeceras de seguridad enumera las siete con una marca o una cruz, mostrando el valor de la cabecera cuando está y una explicación de una línea cuando no. Debajo, la lista de cabeceras de respuesta imprime todos los campos devueltos; el campo Filter headers reduce la lista por nombre o valor mientras escribes, y Copy deja el conjunto en el portapapeles. Recent guarda las diez últimas direcciones consultadas en tu propio navegador, y Clear la vacía.
Límites: una URL pública por comprobación, y las direcciones privadas o reservadas se rechazan con «Private/reserved IP addresses are not allowed», así que desde aquí no se puede sondear un router ni una máquina de tu red local. Solo se puntúan esas siete cabeceras: un sitio perfectamente configurado puede marcar 0 %, como example.com. No hay vista de cadena de redirecciones, ni proceso por lotes, ni programación, y el historial nunca sale de tu navegador.
Casos de uso
Cómo usar
Escribe la dirección de la página en el campo —el esquema es opcional, example.com pasa a https://example.com— o pulsa una de las ocho fichas de sitios.
Pulsa Intro o Check Headers y espera a las tres tarjetas: HTTP Status, Headers Count y Security Score.
Lee la auditoría de cabeceras de seguridad: una marca muestra el valor de la cabecera y una cruz explica qué habría hecho la que falta.
Repasa la lista de cabeceras de respuesta y redúcela con el campo Filter headers si la respuesta es larga.
Pulsa Copy para llevarte todo el conjunto como texto; Recent guarda tus diez últimas direcciones y Clear vacía esa lista.
Consejos Pro
- Puedes omitir el esquema: escribe example.com y el campo lo reescribe como https://example.com antes de enviar la petición.
- Las ocho fichas de sitios disparan la comprobación al pulsarlas, así que son la vía más rápida de tener una respuesta de referencia con la que comparar la tuya.
- Una nota alta no es una auditoría: cuenta siete nombres de cabecera y nada de sus valores, de modo que una Content-Security-Policy con unsafe-inline cuenta como presente.
- Los servidores con HTTP/2 envían los nombres en minúsculas, así que la lista muestra strict-transport-security y no Strict-Transport-Security; la auditoría compara sin distinguir mayúsculas, de modo que la marca aparece igual.
- Recent guarda las diez últimas direcciones en el almacenamiento de tu navegador y no en el servidor; Clear lo borra y una ventana privada empieza vacía.
Solución de problemas
La comprobación responde «Private/reserved IP addresses are not allowed».
Es intencionado. La petición sale del servidor de este sitio, así que permitir direcciones privadas sería dejar que la página sondee redes internas por cuenta de alguien. Todo lo que caiga en 127.x, 10.x, 172.16-31.x o 192.168.x se rechaza. Para leer las cabeceras de un aparato de tu red local, usa la pestaña Red de las herramientas de desarrollo.
La comprobación responde «Connection failed: Could not resolve host».
El nombre de host no se resolvió: revisa la ortografía y asegúrate de haber escrito un dominio y no una frase de búsqueda. Si el dominio es nuevo, puede que el DNS aún no se haya propagado. El mismo mensaje sale con dominios caducados o sin registro A.
La nota de seguridad marca 0 % aunque el sitio funciona.
La nota solo cuenta siete nombres de cabecera, así que un sitio que no ponga ninguna saca cero por bien llevado que esté: example.com responde 200 con 9 cabeceras y saca 0 %. Lee la auditoría para saber qué falta de verdad en lugar de tomar el porcentaje como veredicto.
Las cabeceras de aquí no coinciden con las de las herramientas de Chrome.
Son dos peticiones distintas. Esta página pregunta desde un cliente limpio, sin cookies, sin extensiones y con otro agente de usuario, mientras que las herramientas muestran tu sesión. Una respuesta que varíe por Accept-Language, Accept-Encoding o una cookie de sesión difiere con razón: mira la cabecera vary.
La lista de cabeceras se queda vacía mientras escribo en el filtro.
Filter headers compara tu texto en minúsculas con el nombre del campo y con su valor, y oculta el resto. Un término como «security» deja solo las cabeceras de política, y una errata no deja nada. Vacía el campo y vuelve la lista completa.
Preguntas frecuentes
Son las líneas de nombre y valor que un servidor envía junto a una página: describen la respuesta sin formar parte de ella. content-type dice qué es el cuerpo, cache-control cuánto puede reutilizarse y server nombra el software. Esta herramienta muestra exactamente esas líneas: 17 para github.com y 9 para example.com.
Pega la dirección en el campo y pulsa Check Headers, o pulsa Intro. La página pide la URL a través del servidor de este sitio e imprime el código de estado, el número de cabeceras, una nota de seguridad y la lista completa de cabeceras de respuesta. Sin instalar nada, sin extensión y sin cuenta.
Con curl -I https://example.com para ver solo las cabeceras, o con curl -sD - -o /dev/null https://example.com para imprimirlas descartando el cuerpo. Añade -L para seguir redirecciones y ver las cabeceras de cada salto. Esta página hace lo mismo cuando no tienes una terminal a mano.
Abre las herramientas de desarrollo con F12, ve a la pestaña Red, recarga la página, pulsa la primera petición y lee el panel de cabeceras de respuesta. Ahí ves las cabeceras tal como las recibió tu navegador, con cookies y extensiones; esta herramienta pregunta desde un cliente limpio, por eso las dos listas pueden diferir.
Las siete que audita esta página: Strict-Transport-Security obliga a HTTPS, Content-Security-Policy restringe lo que puede cargarse, X-Content-Type-Options evita la deducción de tipo MIME, X-Frame-Options impide el enmarcado, X-XSS-Protection es un filtro heredado, Referrer-Policy controla el campo Referer y Permissions-Policy limita funciones como el acceso a la cámara.
Lanza la comprobación y lee la auditoría: cada una de las siete recibe una marca con su valor real o una cruz con una explicación de una línea. La nota de seguridad de arriba es lo mismo en porcentaje: seis presentes de siete dan un 86 %, como en github.com.
Porque el cuerpo de una respuesta no dice nada de sí mismo. Las cabeceras indican al navegador qué es el contenido, si puede guardarse en caché, si la próxima vez debe pedirse por HTTPS, qué orígenes pueden ejecutar scripts y si la respuesta puede mostrarse dentro de un marco. Sin ellas, el navegador adivina.
Como nombre de campo, dos puntos y valor, una línea por cabecera. Los nombres no distinguen mayúsculas, por eso un servidor con HTTP/2 los manda en minúsculas: github.com devuelve strict-transport-security y no Strict-Transport-Security. Los valores pueden ser largos y separados por comas, como una lista vary o una Content-Security-Policy.
Son metadatos presentes en toda respuesta, así que aquí no aparece nada que un visitante no pudiera ver ya. Lo que sí filtran es infraestructura: la respuesta de example.com lleva server: cloudflare, cf-cache-status y cf-ray, lo que identifica al CDN que tiene delante. Recortar la cabecera Server para ocultar una versión es práctica habitual.
No hay un número fijo. Los nombres de campo estándar se registran en lugar de quedar congelados en la especificación, y cualquier servidor puede añadir los suyos: de ahí cf-ray y cf-cache-status en una respuesta de Cloudflare. Lo que importa en la práctica es cuántas devuelve cada sitio: 17 en github.com y 9 en example.com.