Partilhar via


Pedido de Tabela de Pré-voo

A Preflight Table Request operação consulta as regras de Partilha de Recursos Entre Origens (CORS) do Armazenamento de Tabelas 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 Tabelas, o Armazenamento de Tabelas 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 de Tabela. Em seguida, o Armazenamento de Tabelas 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 Table Request da seguinte forma. Substitua <account-name> pelo nome de sua conta de armazenamento. Substitua <table-resource> pelo nome do recurso de tabela que será o destino do pedido.

Verbo HTTP URI do pedido Versão HTTP
OPTIONS http://<account-name> .table.core.windows.net/<table-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 tabela.

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 Table 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 Table Request operação como AnonymousSuccess. Por este motivo, se vir as métricas no portal do Azure, verá AnonymousSuccess registado para Preflight Table Request. Esta métrica não indica que os seus dados privados foram comprometidos, mas apenas que a Preflight Table 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.table.core.windows.net/mytable  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.

Ver também

Operações na conta (Armazenamento de Tabelas)
Suporte CORS para o Armazenamento do Azure