Solicitação de simulação de tabela
A Preflight Table Request
operação consulta as regras de CORS (Compartilhamento de Recursos entre Origens) para o Armazenamento de Tabelas do Azure antes de enviar a solicitação.
Um navegador da Web ou outro agente de usuário envia uma solicitação de simulação que inclui o domínio de origem, o método e os cabeçalhos para a solicitação que o agente deseja fazer. Se o CORS estiver habilitado para o Armazenamento de Tabelas, o Armazenamento de Tabelas avaliará a solicitação de pré-vôo em relação às regras CORS configuradas pelo proprietário da conta por meio de Definir Propriedades do Serviço de Tabela. Em seguida, o Armazenamento de Tabelas aceita ou rejeita a solicitação.
Para obter mais informações sobre o CORS e a solicitação de pré-voo, consulte a especificação cors e osuporte a CORS para o Armazenamento do Azure.
Solicitação
Você pode especificar Preflight Table Request
da seguinte maneira. Substitua <account-name>
com o nome da sua conta de armazenamento. Substitua <table-resource>
pelo nome do recurso de tabela que será o destino da solicitação.
Verbo HTTP | URI da solicitação | Versão HTTP |
---|---|---|
OPTIONS |
http://<account-name> .table.core.windows.net/<table-resource> |
HTTP/1.1 |
O URI sempre deve incluir a barra (/) para separar o nome do host das partes de caminho e consulta do URI. No caso dessa operação, a parte do caminho do URI pode estar vazia ou apontar para qualquer recurso de tabela.
O recurso pode ou não existir no momento em que a solicitação de pré-voo é feita. A solicitação de pré-voo é avaliada no nível de serviço em relação às regras CORS do serviço, portanto, a presença ou ausência do nome do recurso não afeta o êxito ou a falha da operação.
Parâmetros do URI
Nenhum.
Cabeçalhos da solicitação
A tabela a seguir descreve os cabeçalhos de solicitação obrigatórios e opcionais:
Cabeçalho da solicitação | Descrição |
---|---|
Origin |
Obrigatórios. Especifica a origem da qual a solicitação será emitida. A origem é verificada em relação às regras de CORS de serviço para determinar o êxito ou a falha da solicitação de simulação. |
Access-Control-Request-Method |
Obrigatórios. Especifica o método (ou verbo HTTP) para a solicitação. O método é verificado em relação às regras de CORS de serviço para determinar a falha ou êxito da solicitação de simulação. |
Access-Control-Request-Headers |
Opcional. Especifica os cabeçalhos de solicitação que serão enviados. Se não estiver presente, o serviço pressupõe que a solicitação não inclua cabeçalhos. |
Corpo da solicitação
Nenhum.
Resposta
A resposta inclui um código de status HTTP e um conjunto de cabeçalhos de resposta.
Código de status
Uma operação bem-sucedida retorna o código de status 200 (OK).
Para obter informações sobre códigos de status, consulte Códigos de status e de erro.
Cabeçalhos de resposta
A resposta para esta operação inclui os cabeçalhos a seguir. 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 cabeçalhos de solicitação de pré-vôo, consulte 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 na solicitação se a solicitação de pré-vôo for bem-sucedida. |
Access-Control-Allow-Methods |
Se a solicitação de pré-vôo for bem-sucedida, esse cabeçalho será definido como o valor ou os valores especificados para o cabeçalho Access-Control-Request-Method de solicitação . |
Access-Control-Allow-Headers |
Se a solicitação de pré-vôo for bem-sucedida, esse cabeçalho será definido como o valor ou os valores especificados para o cabeçalho Access-Control-Request-Headers de solicitação . |
Access-Control-Max-Age |
Especifica o período de tempo em que o agente do usuário tem permissão para armazenar em cache a solicitação de pré-voo para solicitações futuras. |
Access-Control-Allow-Credentials |
Indica se a solicitação pode ser feita por meio de credenciais. Este cabeçalho é sempre definido como true . |
Corpo da resposta
Nenhum.
Autorização
A Preflight Table Request
operação sempre é executada anonimamente. Ele não requer autorização e ignora as credenciais se elas forem fornecidas.
Observação
Se você habilitou a análise do Armazenamento do Azure e está registrando métricas, uma chamada para a Preflight Table Request
operação será registrada como AnonymousSuccess
. Por esse motivo, se você exibir métricas no portal do Azure, verá AnonymousSuccess
registrado em log para Preflight Table Request
. Essa métrica não indica que seus dados privados foram comprometidos, mas apenas que a Preflight Table Request
operação foi bem-sucedida com um código status de 200 (OK).
Exemplo de solicitação e resposta
O exemplo a seguir envia uma solicitação de pré-vôo para a origem www.contoso.com
. O método de solicitação é definido como PUT
e os cabeçalhos de solicitação sã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á habilitado para o serviço e que uma regra CORS corresponde à solicitação de pré-vôo:
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
Comentários
Se o CORS estiver habilitado para o serviço e uma regra CORS corresponder à solicitação de pré-vôo, o serviço responderá à solicitação de pré-voo com status código 200 (OK). A resposta inclui os cabeçalhos Access-Control
necessários. Nesse caso, a solicitação é cobrada.
Se CORS não estiver habilitado ou nenhuma regra CORS corresponder à solicitação de simulação, o serviço responde com o código de status 403 (Proibido). Nesse caso, a solicitação não é cobrada.
Se a solicitação OPTIONS
estiver malformada, o serviço responderá com status código 400 (Solicitação Incorreta) e a solicitação não será cobrada. Um exemplo de uma solicitação malformada é aquele que não contém os cabeçalhos e Access-Control-Request-Method
necessáriosOrigin
.
A solicitação de pré-voo é um mecanismo para consultar a funcionalidade CORS de um serviço de armazenamento associado a uma determinada conta de armazenamento. A solicitação de simulação não é destinada a um recurso específico.
Confira também
Operações na conta (Armazenamento de Tabelas)
Suporte do CORS para o Armazenamento do Azure