Pedido de Ficheiro de Verificação Prévia
A Preflight File Request
operação consulta as regras de Partilha de Recursos Transversais à Origem (CORS) para Ficheiros do Azure antes de enviar o pedido.
Um browser ou outro agente de utilizador envia um pedido de verificação prévia que inclui o domínio de origem, o método e os cabeçalhos do pedido que o agente pretende fazer. Se o CORS estiver ativado para Ficheiros do Azure, Ficheiros do Azure avalia o pedido de verificação prévia em relação às regras CORS que o proprietário da conta configurou através de Definir Propriedades do Serviço de Ficheiros. Ficheiros do Azure, em seguida, aceita ou rejeita o pedido.
Para obter mais informações sobre o CORS e o pedido de verificação prévia, veja a especificação CORS e osuporte CORS para o Armazenamento do Azure.
Disponibilidade do protocolo
Protocolo de partilha de ficheiros ativado | Disponível |
---|---|
SMB | |
NFS |
Pedir
Pode especificar Preflight File Request
da seguinte forma. Substitua <account-name>
pelo nome de sua conta de armazenamento. Substitua pelo <file-resource>
recurso de partilha, diretório ou ficheiro que será o destino do pedido.
Verbo HTTP | URI do pedido | Versão HTTP |
---|---|---|
OPTIONS |
http://<account-name>.file.core.windows.net/<file-resource> http://<account-name>.file.core.windows.net/<file-resource>?restype=share http://<account-name>.file.core.windows.net/<file-resource>?restype=directory |
HTTP/1.1 |
O URI tem de incluir sempre a barra (/) para separar o nome do anfitrião das partes do caminho e da consulta do URI. No caso desta operação, a parte do caminho do URI pode estar vazia ou pode apontar para qualquer recurso Ficheiros do Azure. Se o recurso Ficheiros do Azure for uma partilha ou um diretório, é necessário o restype
parâmetro de consulta.
O recurso pode ou não existir no momento em que o pedido de verificação prévia é feito. O pedido de verificação prévia é 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 do 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 verificação prévia. |
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 verificação prévia. |
Access-Control-Request-Headers |
Opcional. Especifica os cabeçalhos do pedido que serão enviados. Se não estiver presente, o serviço assume que o pedido não inclui cabeçalhos. |
x-ms-allow-trailing-dot: { <Boolean> } |
Opcional. Versão 2022-11-02 e posterior. O valor Booleano especifica se um ponto à direita presente no URL do pedido deve ser cortado ou não. Para obter mais informações, veja Naming and referencing shares, directories, files, and metadata (Atribuir nomes e referenciar partilhas, diretórios, ficheiros e metadados). |
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).
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 verificação prévia, 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 verificação prévia for bem-sucedido. |
Access-Control-Allow-Methods |
Se o pedido de verificação prévia 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 verificação prévia 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 verificação prévia 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 File 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 File Request
operação como AnonymousSuccess
. Por este motivo, se vir métricas no portal do Azure, verá AnonymousSuccess
registado para Preflight File Request
. Esta métrica não indica que os dados privados foram comprometidos, mas apenas que a Preflight File Request
operação foi bem-sucedida com um código de estado de 200 (OK).
Pedido e resposta de exemplo
O exemplo seguinte envia um pedido de verificação prévia 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.file.core.windows.net/myshare/myfile
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 verificação prévia:
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 verificação prévia, o serviço responderá ao pedido de verificação prévia 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 verificação prévia, o serviço responderá com o código de estado 403 (Proibido). Neste caso, o pedido não é faturado.
Se o OPTIONS
pedido tiver um formato incorreto, o serviço responderá com o código de estado 400 (Pedido Incorreto) e o pedido não será faturado. Um exemplo de um pedido mal formado é um que não contém os cabeçalhos e Access-Control-Request-Method
necessáriosOrigin
.
O pedido de verificação prévia é um mecanismo para consultar a capacidade CORS de um serviço de armazenamento associado a uma determinada conta de armazenamento. O pedido de verificação prévia não é direcionado para um recurso específico.