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

Solicitud Preflight

Es una solicitud HTTP de método OPTIONS, enviada antes de la solicitud en sí, para determinar si esta última es segura para enviar.

Solo después de que el servidor haya enviado una respuesta positiva, se envía la solicitud HTTP mismo.

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.

Cómo funciona

Como se describe en página de creación de recursos,

  • Si ha implementado el método OPCIONS para el recurso, se respeta el flujo configurado y se mantiene la jerarquía de interceptores que ha establecido.

  • Si no ha implementado un método OPCIONS, los interceptores configurados en el recurso all/all se ignoran y el recurso no los hereda.

    Como estándar, las respuestas a las solicitudes preflight contendrán los siguientes encabezados:

    clave: valor

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

    Si en la solicitud preflight llegar el encabezado access-control-request-headers, la respuesta incluirá su contenido en el encabezado de clave-valor access-control-allow-headers.

Thanks for your feedback!
EDIT

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