Pedido de mesa de pré-voo

A Preflight Table Request operação consulta as regras de Partilha de Recursos de Origem Cruzada (CORS) para o serviço de tabela antes de enviar o pedido real. Um navegador web ou outro agente de utilizadores envia um pedido de pré-voo que inclui o domínio de origem, método e cabeçalhos para o pedido real que o agente deseja fazer. Se o CORS estiver habilitado para o serviço Table, o serviço Table avalia o pedido de pré-voo contra as regras do CORS que o proprietário da conta configuraram através do set Table Service Properties,e aceita ou rejeita o pedido.

Para obter mais informações sobre o CORS e o pedido de pré-voo, consulte a especificação CORS e o Suporte CORS para os Serviços de Armazenamento

Pedir

O Preflight Table Request pode ser especificado da seguinte forma. Substitua <account-name> pelo nome de sua conta de armazenamento. <table-resource>Substitua-se pelo nome do recurso de tabela que deverá ser o alvo do pedido efetivo:

Verbo HTTP URI do pedido Versão HTTP
OPÇÕES http://<account-name> .table.core.windows.net/<table-resource> HTTP/1.1

Note que o URI deve incluir sempre o corte dianteiro (/) para separar o nome do hospedeiro do caminho e porções de consulta do URI. No caso desta operação, a parte do caminho do URI pode estar vazia ou pode apontar para qualquer recurso de mesa. 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 função das regras CORS do serviço, pelo que a presença ou ausência do nome do recurso não afeta o sucesso ou falha da operação.

Parâmetros do URI

Nenhum.

Pedido cabeçalhos

A tabela seguinte descreve os cabeçalhos de pedido necessários e opcionais.

Cabeçalho do Pedido Description
Origin Obrigatório. Especifica a origem a partir da qual o pedido real será emitido. A origem é verificada contra as regras cors do serviço para determinar o sucesso ou falha do pedido de pré-voo.
Access-Control-Request-Method Obrigatório. Especifica o método (ou verbo HTTP) para o pedido real. O método é verificado contra as regras cors do serviço para determinar o fracasso ou sucesso do pedido de pré-voo.
Access-Control-Request-Headers Opcional. Especifica os cabeçalhos para os cabeçalhos de pedido real que serão enviados, então o serviço assume que nenhum cabeçalho é enviado com o pedido real.

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, consulte 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 standard estão em conformidade com a especificação do protocolo HTTP/1.1.

Consulte a especificação CORS para obter mais informações sobre os cabeçalhos de pedido de pré-voo.

Cabeçalho de Resposta Descrição
Acesso-Controlo-Permitir-Origem A origem permitida, que corresponde ao cabeçalho de origem no pedido se o pedido de pré-voo tiver sido bem sucedido.
Acesso-Controlo-Permitir Métodos Se os pedidos de pré-voo forem bem sucedidos, este cabeçalho é definido para o valor ou valores especificados para o cabeçalho pedido Acesso-Controlo-Método de Pedido.
Acesso-Controlo-Permitir-Cabeçalhos Se o pedido de pré-voo for bem sucedido, este cabeçalho é definido para o valor ou valores especificados para o cabeçalho de acesso-controlo-cabeçalhos de pedido.
Acesso-Controlo-Idade Máxima Especifica o tempo que o agente do utilizador pode cache o pedido de pré-voo para pedidos futuros.
Acesso-Controlo-Permitir-Credenciais Indica se o pedido real pode ser feito usando credenciais. Este cabeçalho está sempre definido para true .

Corpo de Resposta

Nenhum.

Autorização

A Preflight Table Request operação executa sempre anonimamente. Não requer autorização e ignora as credenciais se forem fornecidas.

Nota

Se tiver ativado a Azure Armazenamento análise e estiver a registar métricas, note que uma chamada para a Preflight Table Request operação é registada como AnonymousSuccess. Por esta razão, se vir métricas no portal Azure, verá o AnonymousSuccess registado para Preflight Table Request . Esta métrica não indica que os seus dados privados tenham sido comprometidos, mas apenas que a Preflight Table Request operação tenha sido bem sucedida com um código de estado de 200 (OK).

Pedido e Resposta da Amostra

O exemplo a seguir envia um pedido de pré-voo para a origem www.contoso.com, com o método de pedido definido PUT para e os cabeçalhos de pedido definidos para 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 habilitado para o serviço e existir uma regra CORS que corresponda ao pedido de pré-voo, o serviço responde ao pedido de pré-voo com o código de estado 200 ( OK ). A resposta inclui os Access-Control cabeçalhos necessários. Neste caso, o pedido será cobrado.

Se o CORS não estiver ativado ou não houver regra CORS que corresponda ao pedido de pré-voo, o serviço responde com o código de estado 403 ( Forbidden ). Neste caso, o pedido não será cobrado.

Se o pedido OPTIONS for mal formado, o serviço responde com o código de estado 400 e Bad Request o pedido não é faturado. Um exemplo de um pedido mal formado é aquele que não contém os Origin Access-Control-Request-Method cabeçalhos necessários.

Note que 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 é dirigido a um recurso específico.

Consulte também

Operações na Conta (Serviço de Tabela)
Apoio ao CORS para os Serviços Armazenamento