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