Comprobador de cabeceras HTTP

Inspecciona las cabeceras, el estado HTTP y la cadena de redirecciones de una URL pública. Consulta valores y observaciones en un informe.

Un comprobador de cabeceras HTTP muestra los metadatos que devuelve un servidor para una URL. Screpy realiza una petición GET pública, sigue las redirecciones compatibles y enumera los nombres y valores de las cabeceras de la respuesta final sin descargar el cuerpo. Utiliza el informe para investigar una redirección, comprobar un cambio de cabecera tras publicar o localizar una instrucción de indexación inesperada.

Empieza por la respuesta recibida y compárala con lo que debería devolver ese recurso. Una comprobación completada puede mostrar un error del servidor o una política inadecuada. Un resultado verde no certifica seguridad, rendimiento de caché ni indexación en buscadores.

Comprueba la URL exacta y su cadena de respuestas

Introduce una dirección pública HTTP o HTTPS completa, con la ruta y los parámetros relevantes. La portada, un PDF y una página de producto pueden devolver cabeceras distintas en el mismo dominio. Para una página de producto ficticia, https://example.com/products/blue-mug/ es una entrada más útil que la raíz si quieres inspeccionar precisamente esa respuesta.

Lee la cadena antes de la tabla. Una redirección puede cambiar el protocolo, el host o la ruta. La tabla contiene las cabeceras de la respuesta final, no todas las cabeceras de cada paso. La cadena también incluye la respuesta final, por lo que el número de pasos no tiene por qué coincidir con el de redirecciones.

Confirma que la URL final corresponde al recurso que querías comprobar. Una página de acceso, de error o de otro host puede explicar los valores inesperados. Usa Redirect Checker si necesitas centrarte en el recorrido de las redirecciones en lugar de la lista final de cabeceras.

Lee un ejemplo de cabeceras de respuesta HTTP

Esta respuesta ficticia ilustra cómo cada campo responde a una pregunta diferente. No es un análisis capturado ni una configuración que debas copiar en todas las páginas.

HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
X-Robots-Tag: noindex

El estado 200 indica una respuesta correcta. Content-Type declara HTML con codificación UTF-8. Cache-Control describe instrucciones de caché y X-Robots-Tag contiene una instrucción de indexación. Por tanto, una respuesta que funciona puede incluir noindex: el éxito HTTP no implica que la página esté destinada a aparecer en buscadores.

La tabla normaliza los nombres a minúsculas; las mayúsculas no convierten un nombre en otro campo. La referencia de cabeceras de MDN distingue los campos de petición y respuesta. Este comprobador muestra la respuesta, no un volcado de las cookies, preferencias o credenciales de tu sesión de navegador.

Revisa la caché y la indexación por separado

Filtra la tabla por nombre cuando investigues un problema concreto. Primero determina qué necesita el recurso: un HTML que cambia a menudo, un archivo con versión y un documento excluido deliberadamente no requieren la misma política.

Cabecera Pregunta útil para revisar
content-type ¿El formato declarado coincide con el recurso esperado o la redirección llegó a otra respuesta?
cache-control ¿La política encaja con las necesidades de actualización y privacidad del recurso?
etag o last-modified ¿Hay un validador para peticiones condicionales? Su presencia no demuestra que la revalidación funcione.
vary ¿Qué diferencias de cabeceras de petición identifica la respuesta para seleccionar la caché?
x-robots-tag ¿La instrucción noindex observada es intencionada para esta URL?

no-cache no significa «no almacenar nunca». Permite almacenar, pero exige validar antes de reutilizar. no-store indica a las cachés que no almacenen la respuesta. La referencia Cache-Control de MDN explica la diferencia. Esta comprobación no mide aciertos de caché ni elimina copias ya guardadas.

Una instrucción de indexación es independiente de la vigencia del contenido. Si una página destinada a indexarse devuelve noindex inesperadamente, localiza la aplicación, ajuste del servidor o regla responsable antes de cambiarla. Usa Noindex Checker para revisar también las directivas HTML. La documentación noindex de Google explica la instrucción; observarla no determina el estado actual de indexación en Google.

Entiende las observaciones sobre cabeceras de seguridad

Screpy destaca determinadas declaraciones para revisarlas. Trata cada hallazgo como una cuestión de configuración, no como un informe de vulnerabilidades ni como una recomendación de copiar una política desconocida en producción.

Observación Qué establece la comprobación y qué no
Revisión de HSTS Busca un max-age positivo en una respuesta HTTPS. No valida toda la implantación de HTTPS ni los certificados.
Falta CSP Busca Content-Security-Policy en una respuesta declarada como HTML. Su presencia no garantiza que las directivas protejan la aplicación.
Revisión de marcos Busca frame-ancestors en CSP o un valor reconocido de X-Frame-Options. Permitir la inserción depende de la función de tu página.
Revisión de detección MIME Comprueba si X-Content-Type-Options declara nosniff. No verifica el contenido real del archivo ni el comportamiento de todos los navegadores.

Un aviso informativo o de política ausente no prueba una vulnerabilidad. Tampoco la presencia de una cabecera hace eficaz una política. La documentación CSP de MDN diferencia las políticas aplicadas de Content-Security-Policy-Report-Only, que informa de infracciones sin imponer esas restricciones. Ver esta última no demuestra que exista una política que sí las imponga.

Revisa los cambios según los recursos y necesidades de inserción reales de la aplicación. La herramienta no califica la seguridad, inspecciona certificados ni valida todas las directivas. Para referencias a recursos inseguros dentro del HTML, utiliza Mixed Content Checker como comprobación independiente.

Interpreta los valores repetidos y ocultos

El total de cabeceras cuenta nombres normalizados distintos. La columna de apariciones muestra cuántas veces se recibió cada nombre y mantiene visibles los valores repetidos normales. Más de una aparición no es automáticamente un error: comprueba si el campo permite esa estructura y si la política combinada es la deseada.

Los valores sensibles de cookies, autenticación y secretos reconocidos se ocultan o se limpian. Un valor oculto no equivale a una cabecera ausente, ni su presencia evalúa la seguridad de las cookies. No reincorpores datos ocultos a un informe que vayas a compartir. Revisa los detalles confidenciales solo en un entorno privado de depuración adecuado.

Filtra por nombre, como cache-control, sin esperar que la búsqueda examine todos los valores. Guarda el informe con la URL y la hora comprobadas para comparar respuestas. Interpreta la presencia o ausencia de un campo junto con el estado final, el tipo de recurso y el aviso de cobertura.

Distingue comprobaciones parciales de errores HTTP

Que un servidor devuelva un error no es lo mismo que no poder alcanzarlo. Lee el mensaje de cobertura antes de interpretar las filas ausentes.

Resultado Significado y siguiente paso
404 o 500 final con cabeceras Se observó una respuesta. Confirma la URL e investiga el error del recurso o servidor; no confundas conexión correcta con página correcta.
Cadena parcial Se observaron algunos pasos, pero no se pudo comprobar la respuesta final. Las cabeceras finales no están disponibles; no se ha confirmado que falten.
Tiempo agotado o fuente no disponible No se obtuvo la respuesta solicitada. Comprueba acceso público, dirección y redirecciones antes de repetir.

La herramienta sigue un número limitado de redirecciones y espera un tiempo acotado. Bucles, destinos inaccesibles o respuestas que superan los límites pueden dejar la comprobación incompleta. En ese estado, una lista final vacía no es una lista de cabeceras de seguridad ausentes.

Las direcciones de red privada, las páginas autenticadas y las peticiones que necesitan tus cookies quedan fuera del formulario. Una restricción de acceso tampoco demuestra qué recibe Googlebot u otro visitante real.

Compara cabeceras después de publicar

Antes de cambiar algo, registra la URL exacta, la respuesta final, la hora y el campo que esperas modificar. Exporta el informe como referencia. Tras publicar la configuración prevista, comprueba la misma URL y compara los valores relevantes, no solo el número de cabeceras o alertas. Repite con otro tipo de recurso si la regla también debería afectarlo.

Si tu navegador muestra algo distinto, abre su panel Red, recarga la página e inspecciona la petición correspondiente. Compara la URL tras las redirecciones, el método y el estado de sesión. Una respuesta personalizada o en caché no tiene por qué coincidir con una petición pública desde otra ubicación. Este formulario no envía tus cookies ni permite añadir cabeceras de autenticación propias.

Comprueba también si otra herramienta usó HEAD en vez de GET. RFC 9110 explica que HEAD no contiene cuerpo y puede omitir campos determinados durante la generación del contenido. Screpy usa GET, pero se detiene antes de descargar el cuerpo. Igualar método y condiciones ayuda a investigar una diferencia; no hace idénticas todas las respuestas del servidor.

Preguntas sobre cabeceras HTTP

Inspecciona las cabeceras, el estado HTTP y la cadena de redirecciones de una URL pública. Consulta valores y observaciones en un informe.

¿La herramienta utiliza HEAD o GET?

Utiliza GET y se detiene tras leer las cabeceras. No descarga el cuerpo de la respuesta. Algunos servidores devuelven cabeceras distintas con HEAD, por lo que el método importa al comparar.

¿Las cabeceras repetidas siempre son un error?

No. El contador muestra repeticiones de un nombre normalizado. Su validez depende del campo y de sus valores. Revisa la política combinada prevista en lugar de considerar defectuoso todo campo repetido.

¿Por qué puede diferir el resultado de mi navegador?

Compara la URL final exacta, el método, las cookies, la sesión y las condiciones de caché. Las respuestas pueden variar según petición y ubicación. El comprobador realiza un GET público sin tus cookies ni autenticación personalizada.

¿La ausencia de cabeceras de seguridad demuestra una vulnerabilidad?

No. El informe señala declaraciones seleccionadas para revisarlas. No valida todas las políticas, inspecciona certificados ni constituye una auditoría completa de seguridad.

¿Por qué se ocultan algunos valores?

Se ocultan valores sensibles de cookies, autenticación y secretos reconocidos. Los valores normales repetidos permanecen visibles junto con su número de apariciones.

¿Puedo comprobar una página privada o autenticada?

No. Se comprueban URL HTTP o HTTPS públicas sin cookies del usuario ni cabeceras de autenticación personalizadas. Una cadena parcial no confirma las cabeceras finales.

¿Qué cabeceras se muestran después de una redirección?

La tabla enumera las cabeceras de la respuesta final. La cadena muestra los pasos de URL y estado observados, incluida la respuesta final; no es una tabla completa de cabeceras para cada salto.

¿Cache-Control no-cache significa que no se puede almacenar la respuesta?

No. Permite almacenar, pero exige validar antes de reutilizar. No-store indica a las cachés que no guarden la respuesta. La comprobación observa esa declaración sin medir aciertos de caché ni borrar copias guardadas.