#321 · Herramienta para desarrolladores

Generador de solicitud preflight CORS

Construye una solicitud OPTIONS de preflight CORS a partir de la URL, el origen, el método real y las cabeceras no simples que enviará el navegador. El resultado separa la línea de petición de las cabeceras Access-Control-Request-* para que puedas reproducir el preflight con curl, una consola HTTP o documentación de API.

Datos de entrada

Entrada local
Espacio publicitario

Cómo usar esta herramienta para desarrolladores

  1. Pega o escribe configuración json de la solicitud en el área de entrada.
  2. Ajusta los valores del ejemplo si necesitas reproducir otro caso.
  3. Pulsa el botón principal o usa Ctrl/Cmd + Enter.
  4. Revisa el resultado, el diagnóstico y las métricas antes de copiar o descargar.

Qué hace esta herramienta para desarrolladores

Genera el mensaje previo que un navegador puede enviar antes de una petición CORS no simple. No contacta con el servidor ni decide si la respuesta CORS será aceptada; muestra exactamente qué datos deberían compararse con Access-Control-Allow-Origin, Access-Control-Allow-Methods y Access-Control-Allow-Headers.

Normaliza el método a mayúsculas, valida URL y origen, deduplica los nombres de cabecera y construye una petición OPTIONS sin cuerpo.

Un preflight correcto no garantiza que la petición final sea autorizada: el servidor debe responder con cabeceras CORS compatibles.

Ejemplo

Entrada: {"url":"https://api.ejemplo.com/v1/items","method":"PUT","origin":"https://app.ejemplo.com","requestHeaders":["content-type","authorization"]} Salida: OPTIONS /v1/items HTTP/1.1 Origin: https://app.ejemplo.com Access-Control-Request-Method: PUT Access-Control-Request-Headers: authorization, content-type

Casos de uso

  • Preparar pruebas manuales de endpoints CORS.
  • Documentar qué preflight dispara una aplicación web.
  • Comparar una solicitud prevista con registros de proxy o servidor.

Consejos para obtener resultados fiables

  • Usa el origen completo con esquema, host y puerto cuando sea distinto del predeterminado.
  • Incluye solo cabeceras que realmente enviará la petición principal.
  • Recuerda que GET o POST también pueden provocar preflight si usan cabeceras o Content-Type no simples.
  • No confundas Access-Control-Request-Headers con Access-Control-Allow-Headers, que pertenece a la respuesta.

Detalles del procesamiento

La herramienta usa URL y URLSearchParams del navegador para validar la dirección, y ordena las cabeceras solicitadas para producir una salida estable y fácil de comparar.

No ejecuta solicitudes de red y no puede comprobar la política real del servidor ni el comportamiento de caché del preflight.

Preguntas frecuentes

¿Cuándo envía el navegador una solicitud OPTIONS de preflight CORS?

Cuando una petición entre orígenes no cumple los criterios de solicitud simple, por ejemplo por el método, Content-Type o cabeceras personalizadas.

¿Access-Control-Request-Headers debe incluir Authorization?

Sí, si la petición real enviará Authorization, el preflight normalmente la declara en Access-Control-Request-Headers.

¿Puedo usar este generador para comprobar Access-Control-Allow-Origin?

Puedes construir la solicitud que debe recibir el servidor, pero la validación de Access-Control-Allow-Origin requiere revisar la respuesta del servidor.

¿El preflight CORS incluye credenciales o cookies?

La solicitud preflight no se usa para enviar el cuerpo de la petición final; el tratamiento de credenciales depende de la política CORS y de la petición real.

¿Por qué una petición POST puede necesitar preflight?

POST no evita el preflight si usa un Content-Type no simple o cabeceras que obligan al navegador a consultar permisos previamente.

Resumen técnico

ElementoTratamiento
EntradaTexto o JSON pegado localmente
ProcesamientoVanilla JavaScript, sin solicitudes externas
SalidaResultado copiable y descargable

Más herramientas de cabeceras HTTP y seguridad

Consulta el hub de cabeceras HTTP y seguridad para trabajar con CORS, cookies, CSP, HSTS, caché y políticas del navegador.