Solicitação de arquivo de simulação
A Preflight File Request
operação consulta as regras de CORS (Compartilhamento de Recursos entre Origens) para Arquivos 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 Arquivos do Azure, Arquivos do Azure avaliará a solicitação de simulação em relação às regras cors que o proprietário da conta configurou por meio de Definir Propriedades do Serviço de Arquivo. Arquivos do Azure aceita ou rejeita a solicitação.
Para obter mais informações sobre o CORS e a solicitação de simulação, consulte a especificação cors e o suporte a CORS para o Armazenamento do Azure.
Disponibilidade do protocolo
Protocolo de compartilhamento de arquivos habilitado | Disponível |
---|---|
SMB | |
NFS |
Solicitação
Você pode especificar Preflight File Request
da seguinte maneira. Substitua <account-name>
com o nome da sua conta de armazenamento. Substitua <file-resource>
pelo recurso de compartilhamento, diretório ou arquivo que será o destino da solicitação.
Verbo HTTP | URI da solicitação | 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 sempre deve incluir a barra (/) para separar o nome do host do caminho e as partes de consulta do URI. No caso dessa operação, a parte do caminho do URI pode estar vazia ou apontar para qualquer recurso Arquivos do Azure. Se o recurso Arquivos do Azure for um compartilhamento ou um diretório, o restype
parâmetro de consulta será necessário.
O recurso pode ou não existir no momento em que a solicitação de simulação é feita. A solicitação de simulação é 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. |
x-ms-allow-trailing-dot: { <Boolean> } |
Opcional. Versão 2022-11-02 e posterior. O valor booliano especifica se um ponto à direita presente na URL de solicitação deve ser cortado ou não. Para obter mais informações, consulte Nomenclatura e referência de compartilhamentos, diretórios, arquivos e metadados. |
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).
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 simulaçã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 simulação for bem-sucedida. |
Access-Control-Allow-Methods |
Se a solicitação de simulaçã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 simulaçã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 que o agente do usuário tem permissão para armazenar em cache a solicitação de simulação 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 File Request
operação sempre é executada anonimamente. Ele não requer autorização e ignora as credenciais se elas forem fornecidas.
Observação
Se você tiver habilitado a análise do Armazenamento do Azure e estiver registrando métricas em log, uma chamada para a Preflight File Request
operação será registrada como AnonymousSuccess
. Por esse motivo, se você exibir métricas no portal do Azure, verá AnonymousSuccess
registrado para Preflight File Request
. Essa métrica não indica que seus dados privados foram comprometidos, mas apenas que a Preflight File Request
operação foi bem-sucedida com um código de status de 200 (OK).
Exemplo de solicitação e resposta
O exemplo a seguir envia uma solicitação de simulação para a origem www.contoso.com
. O método de solicitação é definido PUT
como e os cabeçalhos de solicitação sã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á habilitado para o serviço e que uma regra CORS corresponde à solicitação de simulaçã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 simulação, o serviço responderá à solicitação de simulação 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 simulação é 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.