Preflight-filbegäran

Åtgärden Preflight File Request frågar CORS-reglerna (Cross-Origin Resource Sharing) om Azure Files innan begäran skickas.

En webbläsare eller en annan användaragent skickar en förhandsbegäran som innehåller ursprungsdomänen, metoden och huvudena för den begäran som agenten vill göra. Om CORS är aktiverat för Azure Files utvärderar Azure Files den preliminära begäran mot CORS-reglerna som kontoägaren har konfigurerat via Ange egenskaper för filtjänst. Azure Files accepterar eller avvisar sedan begäran.

Mer information om CORS och den preliminära begäran finns i CORS-specifikationen och CORS-stöd för Azure Storage.

Protokolltillgänglighet

Aktiverat filresursprotokoll Tillgängligt
SMB Ja
NFS Yes

Förfrågan

Du kan ange Preflight File Request följande. Ersätt <account-name> med namnet på ditt lagringskonto. Ersätt <file-resource> med resursen, katalogen eller filresursen som ska vara målet för begäran.

HTTP-verb URI för förfrågan HTTP-version
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

URI:n måste alltid innehålla snedstrecket (/) för att skilja värdnamnet från sökvägen och frågedelarna i URI:n. När det gäller den här åtgärden kan sökvägsdelen av URI:n vara tom eller peka på valfri Azure Files resurs. Om den Azure Files resursen är en resurs eller en katalog restype krävs frågeparametern.

Resursen kanske eller kanske inte finns när den preliminära begäran görs. Den preliminära begäran utvärderas på tjänstnivå mot tjänstens CORS-regler, så förekomsten eller frånvaron av resursnamnet påverkar inte åtgärdens framgång eller misslyckande.

URI-parametrar

Inga.

Begärandehuvuden

I följande tabell beskrivs obligatoriska och valfria begärandehuvuden:

Begärandehuvud Beskrivning
Origin Krävs. Anger ursprunget som begäran ska utfärdas från. Ursprunget kontrolleras mot tjänstens CORS-regler för att fastställa om den preliminära begäran lyckades eller misslyckades.
Access-Control-Request-Method Krävs. Anger metoden (eller HTTP-verbet) för begäran. Metoden kontrolleras mot tjänstens CORS-regler för att fastställa felet eller framgången för den preliminära begäran.
Access-Control-Request-Headers Valfritt. Anger de begärandehuvuden som ska skickas. Om den inte finns förutsätter tjänsten att begäran inte innehåller rubriker.
x-ms-allow-trailing-dot: { <Boolean> } Valfritt. Version 2022-11-02 och senare. Det booleska värdet anger om en avslutande punkt som finns i begärande-URL:en ska trimmas eller inte. Mer information finns i Namnge och referera till resurser, kataloger, filer och metadata.

Begärandetext

Inga.

Svarsåtgärder

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.

Statuskod

En lyckad åtgärd returnerar statuskod 200 (OK).

Svarshuvuden

Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare HTTP-standardhuvuden. Alla standardhuvuden överensstämmer med http/1.1-protokollspecifikationen.

Mer information om preflight-begärandehuvuden finns i CORS-specifikationen.

Svarsrubrik Description
Access-Control-Allow-Origin Anger det tillåtna ursprunget, som matchar ursprungshuvudet i begäran om den preliminära begäran lyckas.
Access-Control-Allow-Methods Om den preliminära begäran lyckas anges det här huvudet till värdet eller värdena som angetts för begärandehuvudet Access-Control-Request-Method.
Access-Control-Allow-Headers Om den preliminära begäran lyckas anges det här huvudet till värdet eller värdena som angetts för begärandehuvudet Access-Control-Request-Headers.
Access-Control-Max-Age Anger hur lång tid användaragenten tillåts cachelagrar den preliminära begäran för framtida begäranden.
Access-Control-Allow-Credentials Anger om begäran kan göras via autentiseringsuppgifter. Det här huvudet är alltid inställt på true.

Själva svaret

Inga.

Auktorisering

Åtgärden Preflight File Request körs alltid anonymt. Det kräver inte auktorisering och ignorerar autentiseringsuppgifter om de anges.

Anteckning

Om du har aktiverat Azure Storage-analys och loggar mått loggas ett anrop till Preflight File Request åtgärden som AnonymousSuccess. Om du därför visar mått i Azure Portal visas AnonymousSuccess loggad för Preflight File Request. Det här måttet anger inte att dina privata data har komprometterats, utan bara att Preflight File Request åtgärden lyckades med statuskoden 200 (OK).

Exempel på begäran och svar

I följande exempel skickas en förhandsbegäran för ursprunget www.contoso.com. Begärandemetoden är inställd på PUToch begärandehuvudena är inställda på content-type och 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    

Svaret anger att CORS är aktiverat för tjänsten och att en CORS-regel matchar den preliminära begäran:

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

Kommentarer

Om CORS är aktiverat för tjänsten och en CORS-regel matchar den preliminära begäran svarar tjänsten på den preliminära begäran med statuskod 200 (OK). Svaret innehåller de nödvändiga Access-Control rubrikerna. I det här fallet faktureras begäran.

Om CORS inte är aktiverat eller om ingen CORS-regel matchar den preliminära begäran svarar tjänsten med statuskod 403 (Förbjuden). I det här fallet faktureras inte begäran.

OPTIONS Om begäran är felaktig svarar tjänsten med statuskod 400 (felaktig begäran) och begäran faktureras inte. Ett exempel på en felaktig begäran är en begäran som inte innehåller de obligatoriska Origin huvudena och Access-Control-Request-Method huvudena.

Den preliminära begäran är en mekanism för att fråga CORS-funktionen för en lagringstjänst som är associerad med ett visst lagringskonto. Den preliminära begäran är inte riktad till en specifik resurs.