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-Method de 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-Headers de 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 PUT
en 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