HTTP / Depuración de solicitudes

comprobador CORSpara saber qué puede leer el navegador

Pega la respuesta real y, si procede, OPTIONS. El GET de red siempre requiere un clic.

comprobador CORS

Cabeceras de la respuesta real

Cabeceras OPTIONS (opcionales)

Las cabeceras pegadas se analizan en el navegador sin enviar solicitudes.

Resultado

Pega las cabeceras de respuesta para empezar.

Condiciones de la solicitud

Esta Origin solo se usa en el análisis local. El GET emplea la Origin real de esta página.

Pega las cabeceras de respuesta para empezar.

El servidor registra 200 pero fetch falla. Un comprobador CORS separa la llegada de la respuesta HTTP del permiso para que JavaScript la lea.

Usa las cabeceras copiadas de DevTools y la Origin de tu aplicación. Para probar CORS en el caso de POST JSON o cabeceras propias, añade la respuesta del preflight; pegar texto nunca contacta con la API. Este verificador CORS no hace solicitudes hasta que elijas el modo de red.

Por qué usar este comprobador CORS

Llegar al servidor y ser legible son dos pasos distintos.

Un 200 puede quedar oculto

Un GET simple llega al servidor, pero sin un Allow-Origin válido el navegador no entrega la respuesta a JavaScript. El comprobador CORS no considera el estado HTTP una autorización de lectura.

El GET alcanza el servidor, pero el navegador impide que el script vea la respuesta.

OPTIONS tiene su propia respuesta

POST JSON o Authorization pueden activar preflight. Sin cabeceras OPTIONS no se sabe si pasaría. Pega su estado y permisos para localizar un método o nombre de cabecera rechazado.

OPTIONS comprueba Origin, método y cabeceras antes de la solicitud real.

Sigue los dos controles de CORS

01

Indica la Origin del frontend

Introduce esquema, dominio y puerto de la página que llama a la API, no la URL de la API. El análisis local simula ese valor; el GET real parte de la Origin de este sitio.

02

Comprueba si hay preflight

application/json, Authorization y métodos no simples requieren OPTIONS. Basta con los nombres de cabecera para clasificar la solicitud. Sin respuesta OPTIONS, esa fase queda sin verificar.

03

Exporta solo el informe vigente

Al cambiar entrada u opciones se deshabilita el informe anterior. El análisis automático espera 350 ms; puedes apagarlo y usar el botón o Ctrl/Cmd + Enter.

Permisos explicados por separado

Origin y credenciales

El comodín Allow-Origin: * falla con credentials: include. Una Origin específica también exige Allow-Credentials: true. Authorization en la solicitud no es el interruptor de credenciales.

Métodos y nombres autorizados

El analizador de preflight compara el estado OPTIONS, Allow-Methods y Allow-Headers, e identifica exactamente qué permiso falta.

Cabeceras expuestas y caché

Muestra Expose-Headers y Vary: Origin sin afirmar que una sola respuesta pruebe una reflexión de cualquier origen.

GET real bajo control

Solo un clic envía GET sin credenciales desde esta página. Incluso un HTTP 404 puede ser legible; cuando fetch rechaza, estado y cabeceras quedan ocultos.

Alcance del resultado

Lo pegado es una simulación
El analizador de preflight y respuesta usa el texto aportado: no verifica la API en vivo. Si OPTIONS es necesario y no se ha pegado, el resultado es no verificado.
El navegador decide su Origin
El comprobador CORS no puede hacerse pasar por tu frontend. El modo GET no envía POST, cookies ni valores de cabeceras personalizadas. Un éxito en el mismo origen no demuestra acceso cruzado.
Sin proxy ni escaneo
No se reenvían URL arbitrarias desde el servidor ni se prueban varios orígenes. La ausencia de Allow-Origin puede ser normal en un recurso previsto solo para el mismo origen.
Una cabecera oculta puede existir
JavaScript solo puede consultar cabeceras permitidas por defecto o mediante Expose-Headers. Inspecciona DevTools o los registros del servidor para ver la respuesta completa.

Preguntas sobre el comprobador CORS

¿Por qué una solicitud falla con un error CORS aunque el servidor respondió correctamente?

El servidor puede terminar la solicitud y el navegador impedir que JavaScript lea su respuesta. Comprueba Allow-Origin en la respuesta real y, si hubo preflight, la respuesta OPTIONS aparte.

¿Cuál es la diferencia entre una solicitud simple y una con preflight?

Un GET simple sale directamente y luego se controla la respuesta. POST JSON o cabeceras propias pueden requerir un OPTIONS previo para Origin, método y nombres de cabecera.

¿Verificar encabezados CORS aquí envía mis datos a un servidor?

El modo local no envía las cabeceras pegadas. Solo al elegir y ejecutar GET del navegador se envía una petición sin credenciales a la URL indicada.

¿Protege CORS una API de solicitudes maliciosas?

No. CORS limita lo que puede leer JavaScript en un navegador. La API sigue necesitando autenticación y autorización; curl no aplica la misma restricción de lectura.

¿Por qué Access-Control-Allow-Origin: * no funciona junto con credentials: include?

Con credentials: include, el servidor debe devolver la Origin concreta y Allow-Credentials: true. Allow-Origin: * no autoriza al navegador a exponer esa respuesta.

¿Falta algún caso?

Usa el comprobador CORS con cabeceras reales

Copia de DevTools la respuesta real y, cuando sea necesario, OPTIONS. El comprobador CORS separa ambas decisiones antes de cambiar la configuración del servidor.

Análisis local inicial; GET de red solo con un clic.