Security

Cabeceras HTTP

Visualiza cabeceras de respuesta y audita políticas de seguridad.

URL http or https (default https). Up to 3 redirects are followed.
https://github.com/
Status: 200 HTTP/1.1 96 ms
B
Security grade?
Score
82 / 100
Status
200
Protocol?
HTTP/1.1
Latency?
96 ms
Security audit
  • pass Strict-Transport-Security? +25/25
    HSTS is set with a long max-age — browsers will refuse plaintext HTTP for the next 6+ months.
    max-age=31536000; includeSubdomains; preload
  • pass Content-Security-Policy? +25/25
    CSP is set with reasonable defaults — script and style sources are restricted.
    default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com edge.fullstory.com rs.fullstory.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com www.youtube-nocookie.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com images.ctfassets.net/8aevphvgewt8/; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com assets.ctfassets.net/8aevphvgewt8/ videos.ctfassets.net/8aevphvgewt8/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
  • pass X-Frame-Options / frame-ancestors? +15/15
    Clickjacking is blocked — page cannot be embedded in third-party iframes.
    deny
  • pass X-Content-Type-Options +10/10
    nosniff is set — browsers will not MIME-sniff non-script responses as JavaScript.
    nosniff
  • warn Referrer-Policy? +7/15
    Referrer policy leaks parts of the URL cross-origin — switch to strict-origin-when-cross-origin.
    origin-when-cross-origin, strict-origin-when-cross-origin
  • fail Permissions-Policy? +0/10
    No Permissions-Policy — third-party iframes can request sensitive features without restriction.
Response headers
date: Sun, 26 Jul 2026 18:12:49 GMT content-type: text/html; charset=utf-8 vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, X-GitHub-Client-Version, Accept-Language, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With content-language: en-US etag: W/"3f956f090971482e9a8d1fe36c4b9d2c" cache-control: max-age=0, private, must-revalidate strict-transport-security: max-age=31536000; includeSubdomains; preload x-frame-options: deny x-content-type-options: nosniff x-xss-protection: 0 referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com edge.fullstory.com rs.fullstory.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com www.youtube-nocookie.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com images.ctfassets.net/8aevphvgewt8/; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com assets.ctfassets.net/8aevphvgewt8/ videos.ctfassets.net/8aevphvgewt8/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/ server: github.com accept-ranges: bytes set-cookie: _gh_sess=OuoC6Uz1Su3kBfAe7Ckvuhz7ZxbF1tcT4kqEkMC2a%2FqG065oh4Bwcj5MrIFvXeYyikJ4qgsAxdF5xHeNcpB00afTJyLFphA%2B1jX%2BGyHFzKtxSKDuETQ1oCsZsn9wTw2cSUOf4rl1MsDYIFX%2F2cy7FjvGhhU6C7Bk4D69TqzL7SS6JWsEDgK5etkkU%2FtvbiWQ39PVzHtgdcqTvQsbhd5JP8FfkvwxGbHlGzNrpftfSb4TfJpgFauONrWVhZxlHklys7RD0ASAT%2Fdq0tiW85d%2FRA%3D%3D--%2B2jKveHvBuvnvcXv--hDi%2FPPnVZWJzfRn3Neve3w%3D%3D; path=/; HttpOnly; secure; SameSite=Lax set-cookie: _octo=GH1.1.686493846.1785089580; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; secure; SameSite=Lax set-cookie: logged_in=no; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax x-github-request-id: ECE0:3B0CE5:2C0D599:22499BC:6A664E2C transfer-encoding: chunked
What does each field mean?

Field reference

Calificación de seguridad

Puntuación agregada de las cabeceras de seguridad ponderada por impacto: HSTS y CSP son las que más pesan. A+ exige tener las cinco cabeceras correctamente configuradas; F significa que no hay ninguna. Úsala como métrica rápida a primera vista y luego entra al detalle de cada hallazgo.

Protocolo HTTP

HTTP/1.1 es el protocolo de texto heredado. HTTP/2 multiplexa streams sobre una única conexión TCP (compresión de cabeceras, server push). HTTP/3 funciona sobre QUIC (UDP), mejor en redes con pérdidas o móviles. Un servidor moderno debe ofrecer al menos HTTP/2.

Latencia

Tiempo de ida y vuelta desde nuestro servidor hasta el destino hasta recibir el primer byte de respuesta. No es un benchmark de CDN — la distancia geográfica, el handshake TLS y el calentamiento del servidor influyen. Úsalo como señal aproximada, no como dato de rendimiento de producción.

Cadena de redirecciones

Una cadena larga (3 o más redirecciones) perjudica al SEO y al rendimiento. El patrón clásico es <code>http://example.com → https://example.com → https://www.example.com</code>: dos saltos, aceptable. Más de cinco indica mala configuración.

Strict-Transport-Security (HSTS)

HSTS le dice al navegador "no vuelvas a conectarte conmigo por HTTP plano". <code>max-age=15768000</code> (6 meses) es el mínimo práctico; <code>includeSubDomains; preload</code> permite entrar en la lista global de HSTS preload. Una vez en preload no se puede salir durante unos 12 meses: configura todo lo demás antes.

Content-Security-Policy (CSP)

CSP indica desde dónde pueden cargarse scripts, estilos, imágenes y frames. <code>default-src 'self'</code> es un baseline razonable; <code>script-src</code> basado en nonces es la opción más fuerte. Evita <code>unsafe-inline</code> y <code>unsafe-eval</code> — desactivan casi toda la protección XSS de CSP. Usa report-uri / report-to para monitorización.

X-Frame-Options

Pon <code>DENY</code> para prohibir cualquier framing, o <code>SAMEORIGIN</code> para permitir solo frames del mismo origen. El equivalente moderno es <code>frame-ancestors</code> en CSP (sintaxis más rica); cualquiera de los dos satisface nuestra auditoría.

Referrer-Policy

Determina qué envía el navegador en la cabecera <code>Referer</code>. <code>strict-origin-when-cross-origin</code> (por defecto en navegadores modernos) es un buen baseline: URL completa same-origin, solo origen en cross-origin y nada en downgrade. <code>no-referrer</code> lo elimina del todo; <code>unsafe-url</code> filtra URLs completas en downgrade — evítalo.

Permissions-Policy

Sucesora de Feature-Policy. Permite habilitar o denegar API del navegador por origen: <code>camera=(), microphone=(), geolocation=(self)</code>. Sobre todo defensa en profundidad; se aplica a los iframes, con comportamiento más seguro para contenido embebido.

X-Content-Type-Options: nosniff

Sin esta cabecera, los navegadores pueden ejecutar una respuesta JSON como JavaScript si "parece script". <code>X-Content-Type-Options: nosniff</code> obliga a respetar el Content-Type declarado. Es una cabecera barata y siempre segura — no hay buenas razones para omitirla.

Sobre esta herramienta

HTTP Headers recupera su URL con una petición HTTPS real, captura cada cabecera en la respuesta (y cada respuesta intermedia a lo largo de cualquier cadena de redirecciones) y pasa el resultado por una auditoría de seguridad que cubre las cabeceras modernas de hardening: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options / CSP frame-ancestors, X-Content-Type-Options, Referrer-Policy y Permissions-Policy. Cada cabecera se comprueba por presencia, sanidad del valor y huecos de buenas prácticas.

Más allá de la auditoría, listamos cada cabecera literalmente para que pueda confirmar la política de caché (Cache-Control, ETag, Vary), el rastro de CDN (CF-Ray, X-Cache, X-Served-By), compresión (Content-Encoding: br/gzip) y cualquier cabecera personalizada que emita su stack. El método HTTP (GET o HEAD), la versión HTTP negociada (HTTP/1.1, HTTP/2, HTTP/3) y la versión TLS se reportan en la barra de petición.

Cuándo utilizar esta herramienta

  • Hardening de seguridad. Antes de salir a producción, confirme que HSTS, CSP y el resto están establecidos con valores seguros — mínimo el nivel de Mozilla Observatory.
  • Depuración de caché. Vea exactamente qué Cache-Control y Vary emite su CMS o framework — causa común de «la versión vieja se queda pegada».
  • Auditorías de cadenas de redirección. Detecte cadenas accidentales 302-luego-301, bucles HTTP-a-HTTPS-a-host-distinto y canonicalización ausente.
  • Comportamiento del CDN. Confirme que Cloudflare/Fastly/CloudFront cachea realmente lo que cree leyendo las cabeceras Age, X-Cache y específicas del CDN.

Qué cubre nuestra auditoría de seguridad

Para cada una de las seis cabeceras de hardening reportamos: presente o ausente, el valor real y un veredicto breve («bueno», «necesita ajuste», «vulnerable»). HSTS sin includeSubDomains, CSP con unsafe-inline o Referrer-Policy dejada en su valor por defecto quedan señalados. Nunca le decimos cuál es la política «perfecta» porque cada sitio es distinto — pero le decimos qué mandos siguen en su valor de fábrica.

Preguntas frecuentes

¿Qué es HSTS y por qué importa?

Strict-Transport-Security le dice al navegador «usa siempre HTTPS para este dominio, aunque el usuario escriba http:// o haga clic en un enlace http://». Una vez establecido con un max-age razonable (típicamente 31536000 = 1 año), evita ataques de SSL-stripping en visitas posteriores. Añadir includeSubDomains extiende la protección a cada subdominio — buen valor por defecto para la mayoría de sitios pero asegúrese antes de que todos soportan HTTPS.

Falta mi CSP — ¿cómo de peligroso es?

Sin CSP, cualquier agujero XSS en su sitio se ejecuta con plenos poderes: puede exfiltrar cookies, cargar scripts controlados por el atacante o reescribir el DOM. Un CSP inicial de default-src 'self' bloquea los payloads XSS más comunes (scripts en línea, cargas de scripts externos) con coste casi nulo. Políticas más estrictas que prohíben scripts en línea por completo requieren refactorización pero ofrecen protección mucho más fuerte.

¿Siguen redirecciones?

Sí — hasta cinco saltos. Cada paso se muestra con su método, estado, location y cabeceras para que pueda detectar saltos con protocolos mixtos (HTTP→HTTPS), falta de canonicalización (apex vs www) o bucles accidentales. La mayoría de sitios de producción deberían redirigir como mucho una vez (HTTP → HTTPS) y luego servir contenido; más de dos saltos suele ser señal de reglas de reescritura solapadas.

¿Por qué la herramienta muestra HTTP/2 aunque configuré HTTP/3?

HTTP/3 (QUIC sobre UDP) requiere que el cliente opte mediante la cabecera Alt-Svc en la primera conexión. Nuestro comprobador usa HTTP/2 sobre TCP por defecto, que es lo que aún hace la mayoría de clientes HTTP hoy; si su servidor anuncia HTTP/3 en Alt-Svc, verá esa cabecera en el resultado, pero la respuesta en sí sigue siendo por HTTP/2. La presencia de Alt-Svc es lo que hay que buscar.