# Analizador de Cabeceras HTTP de Seguridad

> Una página de jmrp.io, publicada como markdown. Índice: https://jmrp.io/llms.txt

Canonical: https://jmrp.io/es/tools/http-headers-analyzer/
Language: es
Alternate: https://jmrp.io/tools/http-headers-analyzer/index.md
Updated: 2026-09-03
License: https://jmrp.io/es/license/
Category: security
Tags: http, headers, seguridad, hsts, csp, análisis

Analiza cabeceras HTTP de respuesta y buenas prácticas de seguridad. Obtén puntuación, recomendaciones y análisis detallado de cada cabecera.
Build-Date: 2026-09-06

Características:
- Analiza 10 cabeceras de seguridad críticas
- Puntuación ponderada con calificación de A+ a F
- Detecta cabeceras con fugas de información
- Obtén desde URL o pega las cabeceras manualmente
- Todo el análisis se ejecuta en tu navegador

Preguntas que responde:

**¿Qué cabeceras HTTP de seguridad comprueba esta herramienta?**

Evalúa 10 cabeceras críticas, entre ellas Content-Security-Policy, Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy y las tres políticas Cross-Origin. También detecta fugas de información en las cabeceras "Server", "X-Powered-By" y "X-AspNet-Version".

**¿Cómo se calcula la puntuación de seguridad?**

Cada cabecera tiene un peso según su impacto, siendo Content-Security-Policy la de mayor valor (25 puntos) y X-XSS-Protection la menor (3 puntos). El total ponderado se traduce en una calificación de A+ (90-100) hasta F (0-29).

**¿Por qué faltan algunas cabeceras al obtenerlas desde una URL?**

Obtener pide las cabeceras al proxy propio de este sitio, y ese proxy hace una petición HEAD con su propio User-Agent y sin cookies. Las cabeceras que un servidor solo envía en GET, solo a una sesión iniciada o tras negociar el contenido no aparecerán, y si el sitio está detrás de un CDN verás las cabeceras del borde y no las del origen. Para una captura exacta, pega la salida de curl -sI o las cabeceras de respuesta copiadas desde DevTools del navegador.

**¿Se envían mis datos a un servidor al analizar las cabeceras?**

El análisis nunca sale de tu navegador: lo que haya en el cuadro de texto se analiza, se puntúa y se califica en tu propia máquina. El botón Obtener es la excepción, porque un navegador no tiene permiso para leer las cabeceras de respuesta de otro sitio —CORS lo prohíbe—, así que la URL que indiques va a un pequeño proxy de este mismo dominio, que pide las cabeceras y te las devuelve. Ese proxy tiene el registro de acceso desactivado, así que la URL que inspeccionas no queda escrita junto a tu dirección, y el sitio inspeccionado ve este servidor y no a ti. Si pegas las cabeceras en vez de obtenerlas, no se envía nada.

**¿Debo configurar todavía X-XSS-Protection?**

No. X-XSS-Protection es un filtro legacy que los navegadores modernos ignoran o que puede introducir vulnerabilidades; el valor recomendado es "0" para desactivarlo, y una Content-Security-Policy sólida es la defensa adecuada contra XSS.


---

**Herramienta interactiva** — esta página contiene la aplicación en funcionamiento, no una descripción de ella.

## ¿Qué hace esta herramienta?

Analiza las cabeceras HTTP de respuesta en busca de buenas prácticas de
seguridad. La herramienta evalúa 10 cabeceras de seguridad críticas, detecta
fugas de información y proporciona una puntuación ponderada con
recomendaciones prácticas. Puedes pegar las cabeceras manualmente u obtenerlas
desde una URL.

### ¿Qué cabeceras se analizan?

- **Content-Security-Policy** (25 pts) — prevención de XSS e inyecciones
- **Strict-Transport-Security** (15 pts) — forzado de HTTPS
- **X-Content-Type-Options** (10 pts) — prevención de MIME sniffing
- **X-Frame-Options** (8 pts) — protección contra clickjacking
- **Referrer-Policy** (8 pts) — control de información del referrer
- **Permissions-Policy** (8 pts) — restricciones de funcionalidades del navegador
- **Cross-Origin-Opener-Policy** (8 pts) — aislamiento del contexto de navegación
- **Cross-Origin-Resource-Policy** (8 pts) — control de carga de recursos
- **Cross-Origin-Embedder-Policy** (7 pts) — control de incrustación
- **X-XSS-Protection** (3 pts) — filtro XSS legacy (debe estar desactivado)

Además, la herramienta comprueba **fugas de información** a través de las cabeceras `Server`, `X-Powered-By` y `X-AspNet-Version`.

### Escala de calificación

- **A+** (90-100) — Postura de seguridad excelente
- **A** (80-89) — Sólida, con mejoras menores posibles
- **B** (70-79) — Buena, faltan algunas cabeceras
- **C** (50-69) — Aceptable, faltan varias cabeceras importantes
- **D** (30-49) — Deficiente, con carencias importantes
- **F** (0-29) — Crítica, faltan la mayoría de cabeceras

### ¿Cómo se usa?

1. Introduce una URL y pulsa Obtener, o pega las cabeceras desde DevTools
  del navegador o curl
2. Pulsa Analizar cabeceras para ver la puntuación de seguridad y las
  recomendaciones
3. Corrige las cabeceras que falten en la configuración de tu servidor y vuelve
  a analizar

### ¿Son privados mis datos?

Todo el análisis se realiza íntegramente en tu navegador: las cabeceras del cuadro de texto se analizan, se puntúan y se califican en tu propia máquina, y no se envía nada de ellas a ninguna parte. El botón Obtener es la excepción. CORS impide que un navegador lea las cabeceras de respuesta de otro sitio, así que la URL que indiques va a un pequeño proxy de este mismo dominio que las pide por ti. Ese proxy tiene el registro de acceso desactivado, así que la URL que inspeccionas no queda escrita junto a tu dirección, y el sitio inspeccionado ve este servidor y no a ti. Si prefieres que ni siquiera esa petición salga, pega las cabeceras capturadas con `curl -sI` en lugar de usar Obtener.

### Referencia de comandos Linux

Puedes inspeccionar las cabeceras HTTP desde la terminal con estas
herramientas:

#### curl — Solo cabeceras

```bash
curl -sI https://example.com
```

**Salida — Cabeceras de respuesta**

```text
HTTP/2 200
date: Thu, 12 Feb 2026 07:37:48 GMT
content-type: text/html
cf-ray: 9cca6c3e7e52ddef-MAD
last-modified: Wed, 11 Feb 2026 23:52:30 GMT
accept-ranges: bytes
cf-cache-status: HIT
server: cloudflare
```

#### curl — Filtrar cabeceras de seguridad

```bash
curl -sI https://jmrp.io | grep -iE '^(strict-transport|x-content-type|x-frame|referrer|cross-origin|permissions|content-security)'
```

**Salida — Cabeceras de seguridad**

```text
strict-transport-security: max-age=63072000; includeSubDomains; preload
x-content-type-options: nosniff
x-frame-options: DENY
referrer-policy: strict-origin-when-cross-origin
cross-origin-embedder-policy: require-corp
cross-origin-opener-policy: same-origin
cross-origin-resource-policy: same-origin
content-security-policy: default-src 'self'; script-src 'self' ...
```

#### curl — Verbose (TLS + cabeceras)

```bash
curl -sv https://example.com -o /dev/null 2>&1 | grep '< '
```

**Salida detallada**

```text
< HTTP/2 200
< date: Thu, 12 Feb 2026 07:37:48 GMT
< content-type: text/html
< server: cloudflare
```

#### wget — Modo spider

```bash
wget -S --spider https://example.com 2>&1 | grep '^\s'
```

**Salida — Cabeceras de respuesta de wget**

```text
HTTP/1.1 200 OK
Date: Thu, 12 Feb 2026 07:37:52 GMT
Content-Type: text/html
cf-cache-status: HIT
server: cloudflare
```

#### Comprobar una cabecera específica

```bash
# Comprobar si HSTS está presente
curl -sI https://jmrp.io | grep -i strict-transport

# Comprobar la política CSP
curl -sI https://jmrp.io | grep -i content-security-policy
```

**Salida — Comprobación de cabeceras**

```text
strict-transport-security: max-age=63072000; includeSubDomains; preload
content-security-policy: default-src 'self'; script-src 'self' ...
```

#### Comparar varios sitios

```bash
for site in example.com jmrp.io github.com; do
  echo "=== $site ==="
  curl -sI "https://$site" | grep -ci '^\(strict-transport\|x-content-type\|x-frame\|referrer-policy\|permissions-policy\|content-security-policy\|cross-origin\)'
  echo "security headers found"
done
```

**Salida — Recuento de cabeceras**

```text
=== example.com ===
0 security headers found
=== jmrp.io ===
9 security headers found
=== github.com ===
5 security headers found
```

### Más información

Consulta [Implementar CSP en Nginx](https://jmrp.io/es/blog/003-implementing-content-security-policy-nginx/) para una guía detallada sobre la configuración de cabeceras de seguridad.

