¿Qué son y cómo funcionan las solicitudes preflight?

Es una solicitud HTTP del método OPTIONS, enviada antes de la solicitud principal, para verificar si esta última es segura para ser enviada.

Solo cuando el servidor envía una respuesta positiva, se realiza la solicitud HTTP efectiva.

La solicitud preflight contiene metadatos con información como:

  • Origin: indica el origen de la solicitud (nombre del servidor);

  • Access-Control-Request-Method: qué métodos HTTP se utilizarán;

  • Access-Control-Request-Headers: claves que estarán en los headers.

Comportamiento

Según lo descrito en la página sobre creación de recursos:

  • Si implementó el método OPTIONS en el recurso solicitado, se sigue el flujo definido y se mantiene la jerarquía de interceptores configurada.

  • Si no implementó el método OPTIONS, los interceptores configurados en el recurso all/all son ignorados y no se heredan por el recurso solicitado.

Como respuesta predeterminada, se envían los siguientes headers:

clave: valor

Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: HEAD, DELETE, POST, GET, OPTIONS, PUT, PATCH

Si la solicitud preflight contiene el header Access-Control-Request-Headers, la respuesta incluirá su contenido en el header de clave-valor Access-Control-Allow-Headers.

Thanks for your feedback!
EDIT

Share your suggestions with us!
Click here and then [+ Submit idea]