Partilhar via


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

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-Methoddo 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-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 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 PUTe 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.