Partilhar via


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-Methoddo 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-Headersdo 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