Pedido de Blobs de Pré-voo
A Preflight Blob Request
operação consulta as regras de Partilha de Recursos Entre Origens (CORS) para Armazenamento de Blobs do Azure antes de enviar o pedido.
Um browser ou outro agente de utilizador envia um pedido de pré-voo que inclui o domínio de origem, o método e os cabeçalhos do pedido que o agente quer fazer. Se o CORS estiver ativado para o Armazenamento de Blobs, o Armazenamento de Blobs avalia o pedido de pré-voo em relação às regras CORS que o proprietário da conta configurou através de Definir Propriedades do Serviço blob. Em seguida, o Armazenamento de Blobs aceita ou rejeita o pedido.
Para obter mais informações sobre o CORS e o pedido de pré-voo, veja a especificação CORS e osuporte CORS para o Armazenamento do Azure.
Pedir
Pode especificar Preflight Blob Request
da seguinte forma. Substitua <account-name>
pelo nome de sua conta de armazenamento. Substitua <blob-resource>
pelo recurso de contentor ou blob que será o destino do pedido.
Verbo HTTP | URI do pedido | Versão HTTP |
---|---|---|
OPTIONS |
http://<account-name>.blob.core.windows.net/<blob-resource> |
HTTP/1.1 |
O URI tem de incluir sempre a barra (/) para separar o nome do anfitrião das partes de caminho e consulta do URI. No caso desta operação, a parte do caminho do URI pode estar vazia ou pode apontar para qualquer recurso de contentor ou blob.
O recurso pode ou não existir no momento em que o pedido de pré-voo é feito. O pedido de pré-voo é avaliado ao nível do serviço em relação às regras CORS do serviço, pelo que a presença ou ausência do nome do recurso não afeta o êxito ou a falha da operação.
Parâmetros URI
Nenhum.
Cabeçalhos do pedido
A tabela seguinte descreve os cabeçalhos de pedido obrigatórios e opcionais:
Cabeçalho do pedido | Description |
---|---|
Origin |
Obrigatório. Especifica a origem a partir da qual o pedido será emitido. A origem é verificada em relação às regras CORS do serviço para determinar o êxito ou a falha do pedido de pré-voo. |
Access-Control-Request-Method |
Obrigatório. Especifica o método (ou verbo HTTP) para o pedido. O método é verificado em relação às regras CORS do serviço para determinar a falha ou o êxito do pedido de pré-voo. |
Access-Control-Request-Headers |
Opcional. Especifica os cabeçalhos do pedido que serão enviados. Se não estiver presente, o serviço pressupõe que o pedido não inclui cabeçalhos. |
Corpo do pedido
Nenhum.
Resposta
A resposta inclui um código de estado HTTP e um conjunto de cabeçalhos de resposta.
Código de estado
Uma operação bem-sucedida devolve o código de estado 200 (OK).
Para obter informações sobre códigos de estado, veja Códigos de estado e de erro.
Cabeçalhos de resposta
A resposta para esta operação inclui os seguintes cabeçalhos. A resposta também pode incluir cabeçalhos HTTP padrão adicionais. Todos os cabeçalhos padrão estão em conformidade com a especificação do protocolo HTTP/1.1.
Para obter detalhes sobre os cabeçalhos de pedidos de pré-voo, veja a especificação CORS.
Cabeçalho de resposta | Descrição |
---|---|
Access-Control-Allow-Origin |
Indica a origem permitida, que corresponde ao cabeçalho de origem no pedido se o pedido de pré-voo for bem-sucedido. |
Access-Control-Allow-Methods |
Se o pedido de pré-voo for bem-sucedido, este cabeçalho será definido para o valor ou valores especificados para o cabeçalho Access-Control-Request-Method do pedido . |
Access-Control-Allow-Headers |
Se o pedido de pré-voo for bem-sucedido, este cabeçalho será definido para o valor ou valores especificados para o cabeçalho Access-Control-Request-Headers do pedido . |
Access-Control-Max-Age |
Especifica o período de tempo durante o qual o agente do utilizador tem permissão para colocar em cache o pedido de pré-voo para pedidos futuros. |
Access-Control-Allow-Credentials |
Indica se o pedido pode ser feito através de credenciais. Este cabeçalho está sempre definido como true . |
Corpo da resposta
Nenhum.
Autorização
A Preflight Blob Request
operação é sempre executada anonimamente. Não requer autorização e ignora as credenciais se forem fornecidas.
Nota
Se tiver ativado a análise do Armazenamento do Azure e estiver a registar métricas, é registada uma chamada para a Preflight Blob Request
operação como AnonymousSuccess
. Por este motivo, se vir as métricas no portal do Azure, verá AnonymousSuccess
registado para Preflight Blob Request
. Esta métrica não indica que os seus dados privados foram comprometidos, mas apenas que a Preflight Blob Request
operação foi bem-sucedida com um código de estado de 200 (OK).
Pedido de exemplo e resposta
O exemplo seguinte envia um pedido de pré-voo para a origem www.contoso.com
. O método de pedido está definido como PUT
, e os cabeçalhos do pedido estão definidos como content-type
e 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
A resposta indica que o CORS está ativado para o serviço e que uma regra CORS corresponde ao pedido de pré-voo:
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
Observações
Se o CORS estiver ativado para o serviço e uma regra CORS corresponder ao pedido de pré-voo, o serviço responderá ao pedido de pré-voo com o código de estado 200 (OK). A resposta inclui os cabeçalhos necessários Access-Control
. Neste caso, o pedido é faturado.
Se o CORS não estiver ativado ou nenhuma regra CORS corresponder ao pedido de pré-voo, o serviço responderá com o código de estado 403 (Proibido). Neste caso, o pedido não é faturado.
Se o OPTIONS
pedido for mal formado, o serviço responde com o código de estado 400 (Pedido Incorreto) e o pedido não é faturado. Um exemplo de um pedido mal formado é aquele que não contém os cabeçalhos e Access-Control-Request-Method
necessáriosOrigin
.
O pedido de pré-voo é um mecanismo para consultar a capacidade CORS de um serviço de armazenamento associado a uma determinada conta de armazenamento. O pedido de pré-voo não é direcionado para um recurso específico.
Faturação
Os pedidos de preços podem ter origem em clientes que utilizam APIs de Armazenamento de Blobs, diretamente através da API REST do Armazenamento de Blobs ou a partir de uma biblioteca de cliente do Armazenamento do Azure. Estes pedidos acumulam custos por transação. O tipo de transação afeta a forma como a conta é cobrada. Por exemplo, as transações de leitura acumulam-se numa categoria de faturação diferente das transações de escrita. A tabela seguinte mostra a categoria de faturação dos Preflight Blob Request
pedidos com base no tipo de conta de armazenamento:
Operação | Tipo de conta de armazenamento | Categoria de faturação |
---|---|---|
Pedido de Blobs de Pré-voo | Blob de bloco premium Standard para fins gerais v2 |
Outras operações |
Pedido de Blobs de Pré-voo | Standard para fins gerais v1 | Operações de leitura |
Para saber mais sobre os preços da categoria de faturação especificada, veja Armazenamento de Blobs do Azure Preços.
Ver também
Operações na conta (Armazenamento de Blobs)
Suporte CORS para o Armazenamento do Azure