Compartir a través de


Preflight Blob Request

La Preflight Blob Request operación consulta las reglas de uso compartido de recursos entre orígenes (CORS) para Azure Blob Storage antes de enviar la solicitud.

Un explorador web u otro agente de usuario envía una solicitud preparatoria que incluye el dominio de origen, el método y los encabezados de la solicitud que el agente quiere realizar. Si CORS está habilitado para Blob Storage, Blob Storage evalúa la solicitud preparatoria en las reglas de CORS que el propietario de la cuenta ha configurado a través de Establecer propiedades de Blob Service. A continuación, Blob Storage acepta o rechaza la solicitud.

Para más información sobre CORS y la solicitud preparatoria, consulte la especificación de CORS y la compatibilidad con CORS para Azure Storage.

Solicitud

Puede especificar Preflight Blob Request como se indica a continuación. Reemplace <account-name> por el nombre de la cuenta de almacenamiento. Reemplace por <blob-resource> el contenedor o el recurso de blob que será el destino de la solicitud.

Verbo HTTP URI de solicitud Versión de HTTP
OPTIONS http://<account-name>.blob.core.windows.net/<blob-resource> HTTP/1.1

El URI siempre debe incluir la barra diagonal (/) para separar el nombre de host de la ruta de acceso y las partes de consulta del URI. En el caso de esta operación, la parte de ruta de acceso del URI puede estar vacía o puede apuntar a cualquier recurso de contenedor o blob.

El recurso podría existir o no en el momento en que se realiza la solicitud preparatoria. La solicitud preparatoria se evalúa en el nivel de servicio con respecto a las reglas de CORS del servicio, por lo que la presencia o ausencia del nombre del recurso no afecta al éxito o error de la operación.

Parámetros del identificador URI

Ninguno.

Encabezados de solicitud

En la tabla siguiente se describen los encabezados de solicitud obligatorios y opcionales:

Encabezado de solicitud Descripción
Origin Necesario. Especifica el origen desde el que se emitirá la solicitud. El origen se compara con las reglas de CORS del servicio para determinar el éxito o el error de la solicitud preparatoria.
Access-Control-Request-Method Necesario. Especifica el método (o verbo HTTP) para la solicitud. El método se compara con las reglas de CORS del servicio para determinar el error o el éxito de la solicitud preparatoria.
Access-Control-Request-Headers Opcional. Especifica los encabezados de solicitud que se enviarán. Si no está presente, el servicio asume que la solicitud no incluye encabezados.

Cuerpo de la solicitud

Ninguno.

Response

La respuesta incluye un código de estado HTTP y un conjunto de encabezados de respuesta.

status code

Una operación correcta devuelve el código de estado 200 Correcto.

Para obtener información sobre los códigos de estado, consulte Códigos de estado y error.

Encabezados de respuesta

La respuesta para esta operación incluye los encabezados siguientes. La respuesta también puede incluir encabezados HTTP estándar adicionales. Todos los encabezados estándar se ajustan a la especificación del protocolo HTTP/1.1.

Para obtener más información sobre los encabezados de solicitud preparatoria, consulte la especificación CORS.

Encabezado de respuesta Descripción
Access-Control-Allow-Origin Indica el origen permitido, que coincide con el encabezado de origen de la solicitud si la solicitud preparatoria se realiza correctamente.
Access-Control-Allow-Methods Si la solicitud preparatoria se realiza correctamente, este encabezado se establece en el valor o los valores especificados para el encabezado Access-Control-Request-Methodde solicitud .
Access-Control-Allow-Headers Si la solicitud preparatoria se realiza correctamente, este encabezado se establece en el valor o los valores especificados para el encabezado Access-Control-Request-Headersde solicitud .
Access-Control-Max-Age Especifica el período de tiempo que el agente de usuario puede almacenar en caché la solicitud preparatoria para futuras solicitudes.
Access-Control-Allow-Credentials Indica si la solicitud se puede realizar a través de credenciales. Este encabezado siempre se establece en true.

Response body

Ninguno.

Authorization

La Preflight Blob Request operación siempre se ejecuta de forma anónima. No requiere autorización y omite las credenciales si se proporcionan.

Nota

Si ha habilitado Azure Storage Analytics y está registrando métricas, se registra una llamada a la Preflight Blob Request operación como AnonymousSuccess. Por este motivo, si ve las métricas en el Azure Portal, verá AnonymousSuccess que ha iniciado sesión para Preflight Blob Request. Esta métrica no indica que los datos privados se han puesto en peligro, pero solo que la Preflight Blob Request operación se realizó correctamente con un código de estado de 200 (CORRECTO).

Solicitud y respuesta de ejemplo

En el ejemplo siguiente se envía una solicitud preparatoria para el origen www.contoso.com. El método de solicitud se establece PUTen y los encabezados de solicitud se establecen en content-type y accept.

OPTIONS http://myaccount.blob.core.windows.net/mycontainer/myblockblob  HTTP/1.1  
Accept: */*  
Origin: www.contoso.com  
Access-Control-Request-Method: PUT  
Access-Control-Request-Headers: content-type, accept  
Accept-Encoding: gzip, deflate  
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)  
Content-Length: 0  
  

La respuesta indica que CORS está habilitado para el servicio y que una regla de CORS coincide con la solicitud preparatoria:

HTTP/1.1 200 OK  
Connection: Keep-Alive  
Content-Length: 0  
Content-Type: text/html; charset=UTF-8  
Access-Control-Allow-Origin: *  
Access-Control-Max-Age: 60  
Access-Control-Allow-Methods: PUT  
Access-Control-Allow-Headers: accept,content-type  
  

Comentarios

Si CORS está habilitado para el servicio y una regla de CORS coincide con la solicitud preparatoria, el servicio responde a la solicitud preparatoria con el código de estado 200 (CORRECTO). La respuesta incluye los encabezados Access-Control necesarios. En este caso, se factura la solicitud.

Si CORS no se ha habilitado o no hay ninguna regla de CORS que coincida con la solicitud preparatoria, el servicio responde con el código de estado 403 (Forbidden). En este caso, la solicitud no se factura.

Si la OPTIONS solicitud tiene un formato incorrecto, el servicio responde con el código de estado 400 (solicitud incorrecta) y la solicitud no se factura. Un ejemplo de una solicitud con formato incorrecto es una que no contiene los encabezados y Access-Control-Request-Method obligatoriosOrigin.

La solicitud preparatoria es un mecanismo para consultar la funcionalidad CORS de un servicio de almacenamiento asociado a una cuenta de almacenamiento determinada. La solicitud preparatoria no está destinada a un recurso específico.

Facturación

Las solicitudes de precios pueden originarse en clientes que usan API de Blob Storage, ya sea directamente a través de la API REST de Blob Storage o desde una biblioteca cliente de Azure Storage. Estas solicitudes acumulan cargos por transacción. El tipo de transacción afecta a cómo se cobra la cuenta. Por ejemplo, las transacciones de lectura se acumulan en una categoría de facturación diferente a las transacciones de escritura. En la tabla siguiente se muestra la categoría de facturación de Preflight Blob Request las solicitudes basadas en el tipo de cuenta de almacenamiento:

Operación Tipo de cuenta de almacenamiento Categoría de facturación
Preflight Blob Request Blobs en bloques Premium
De uso general, estándar, v2
Otras operaciones
Preflight Blob Request De uso general, estándar, v1 Lee operaciones.

Para obtener información sobre los precios de la categoría de facturación especificada, consulte precios Azure Blob Storage.

Consulte también

Operaciones en la cuenta (Blob Storage)
Compatibilidad de CORS con Azure Storage