Voorbereidende bestandsaanvraag

De Preflight File Request bewerking voert een query uit op de CORS-regels (Cross-Origin Resource Sharing) voor Azure Files voordat de aanvraag wordt verzonden.

Een webbrowser of een andere gebruikersagent verzendt een voorbereidende aanvraag die het oorspronkelijke domein, de methode en de headers bevat voor de aanvraag die de agent wil maken. Als CORS is ingeschakeld voor Azure Files, evalueert Azure Files de voorbereidende aanvraag op basis van de CORS-regels die de accounteigenaar heeft geconfigureerd via Eigenschappen van bestandsservice instellen. Azure Files accepteert of weigert vervolgens de aanvraag.

Zie de CORS-specificatie en CORS-ondersteuning voor Azure Storage voor meer informatie over CORS en de voorbereidende aanvraag.

Protocol beschikbaarheid

Bestandsshareprotocol ingeschakeld Beschikbaar
SMB Ja
NFS Yes

Aanvraag

U kunt als volgt opgeven Preflight File Request . Vervang <account-name> door de naam van uw opslagaccount. Vervang door <file-resource> de share, map of bestandsresource die het doel van de aanvraag is.

HTTP-woord Aanvraag-URI HTTP-versie
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

De URI moet altijd de slash (/) bevatten om de hostnaam te scheiden van de pad- en querygedeelten van de URI. In het geval van deze bewerking kan het padgedeelte van de URI leeg zijn of verwijzen naar een Azure Files resource. Als de Azure Files resource een share of een map is, is de restype queryparameter vereist.

De resource bestaat mogelijk niet op het moment dat de voorbereidende aanvraag wordt gedaan. De voorbereidende aanvraag wordt op serviceniveau geƫvalueerd op basis van de CORS-regels van de service, zodat de aanwezigheid of afwezigheid van de resourcenaam geen invloed heeft op het slagen of mislukken van de bewerking.

URI-parameters

Geen.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven:

Aanvraagheader Beschrijving
Origin Vereist. Hiermee geeft u de oorsprong op van waaruit de aanvraag wordt uitgegeven. De oorsprong wordt gecontroleerd op basis van de CORS-regels van de service om het slagen of mislukken van de voorbereidende aanvraag te bepalen.
Access-Control-Request-Method Vereist. Hiermee geeft u de methode (of HTTP-werkwoord) voor de aanvraag op. De methode wordt gecontroleerd op basis van de CORS-regels van de service om het mislukken of slagen van de voorbereidende aanvraag te bepalen.
Access-Control-Request-Headers Optioneel. Hiermee geeft u de aanvraagheaders op die worden verzonden. Als deze niet aanwezig is, gaat de service ervan uit dat de aanvraag geen headers bevat.
x-ms-allow-trailing-dot: { <Boolean> } Optioneel. Versie 2022-11-02 en hoger. De Booleaanse waarde geeft aan of een afsluitende punt die aanwezig is in de aanvraag-URL moet worden ingekort of niet. Zie Naamgeving en verwijzingen naar shares, mappen, bestanden en metagegevens voor meer informatie.

Aanvraagbody

Geen.

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 200 (OK).

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Zie de CORS-specificatie voor meer informatie over preflight-aanvraagheaders.

Antwoordheader Description
Access-Control-Allow-Origin Geeft de toegestane oorsprong aan, die overeenkomt met de origin-header in de aanvraag als de voorbereidende aanvraag slaagt.
Access-Control-Allow-Methods Als de voorbereidende aanvraag slaagt, wordt deze header ingesteld op de waarde of waarden die zijn opgegeven voor de aanvraagheader Access-Control-Request-Method.
Access-Control-Allow-Headers Als de voorbereidende aanvraag slaagt, wordt deze header ingesteld op de waarde of waarden die zijn opgegeven voor de aanvraagheader Access-Control-Request-Headers.
Access-Control-Max-Age Hiermee geeft u op hoe lang de gebruikersagent de voorbereidende aanvraag mag opslaan in de cache voor toekomstige aanvragen.
Access-Control-Allow-Credentials Hiermee wordt aangegeven of de aanvraag kan worden gedaan via referenties. Deze header is altijd ingesteld op true.

Hoofdtekst van de reactie

Geen.

Autorisatie

De Preflight File Request bewerking wordt altijd anoniem uitgevoerd. Er is geen autorisatie vereist en referenties worden genegeerd als deze worden opgegeven.

Notitie

Als u Azure Storage Analytics hebt ingeschakeld en metrische gegevens wilt vastleggen, wordt een aanroep naar de Preflight File Request bewerking geregistreerd als AnonymousSuccess. Als u daarom metrische gegevens bekijkt in de Azure Portal, ziet AnonymousSuccess u geregistreerd voor Preflight File Request. Deze metrische waarde geeft niet aan dat uw persoonlijke gegevens zijn aangetast, maar alleen dat de Preflight File Request bewerking is geslaagd met de statuscode 200 (OK).

Voorbeeld van aanvraag en antwoord

In het volgende voorbeeld wordt een voorbereidende aanvraag voor de oorsprong www.contoso.comverzonden. De aanvraagmethode is ingesteld op PUTen de aanvraagheaders zijn ingesteld op content-type en 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    

Het antwoord geeft aan dat CORS is ingeschakeld voor de service en dat een CORS-regel overeenkomt met de voorbereidende aanvraag:

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

Opmerkingen

Als CORS is ingeschakeld voor de service en een CORS-regel overeenkomt met de voorbereidende aanvraag, reageert de service op de voorbereidende aanvraag met statuscode 200 (OK). Het antwoord bevat de vereiste Access-Control headers. In dit geval wordt de aanvraag gefactureerd.

Als CORS niet is ingeschakeld of als er geen CORS-regel overeenkomt met de voorbereidende aanvraag, reageert de service met statuscode 403 (Verboden). In dit geval wordt de aanvraag niet gefactureerd.

Als de OPTIONS aanvraag een onjuiste indeling heeft, reageert de service met statuscode 400 (Ongeldige aanvraag) en wordt de aanvraag niet gefactureerd. Een voorbeeld van een ongeldige aanvraag is een aanvraag die niet de vereiste Origin headers en Access-Control-Request-Method bevat.

De voorbereidende aanvraag is een mechanisme om een query uit te voeren op de CORS-mogelijkheid van een opslagservice die is gekoppeld aan een bepaald opslagaccount. De voorbereidende aanvraag is niet gericht op een specifieke resource.