Share via


Preflight Blob Request

Åtgärden Preflight Blob Request frågar CORS-reglerna (Cross-Origin Resource Sharing) för Azure Blob Storage innan begäran skickas.

En webbläsare eller en annan användaragent skickar en preflight-begäran som innehåller ursprungsdomänen, -metoden och rubrikerna för den begäran som agenten vill göra. Om CORS är aktiverat för Blob Storage utvärderar Blob Storage den förinställda begäran mot CORS-reglerna som kontoägaren har konfigurerat via Ange egenskaper för blobtjänsten. Blob Storage accepterar eller avvisar sedan begäran.

Mer information om CORS och förhandsbegäran finns i CORS-specifikationen och CORS-stöd för Azure Storage.

Förfrågan

Du kan ange Preflight Blob Request följande. Ersätt <account-name> med namnet på ditt lagringskonto. Ersätt <blob-resource> med containern eller blobresursen som ska vara målet för begäran.

HTTP-verb URI för förfrågan HTTP-version
OPTIONS http://<account-name>.blob.core.windows.net/<blob-resource> 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 container eller blobresurs.

Resursen kanske eller kanske inte finns vid den tidpunkt då begäran före start görs. Begäran före start 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 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 förfrågningsbegä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.

Begärandetext

Inga.

Svarsåtgärder

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

Statuskod

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

Information om statuskoder finns i Status och felkoder.

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 preflight-begäran lyckas.
Access-Control-Allow-Methods Om preflight-begäran lyckas anges det här huvudet till det värde eller värden som angetts för begärandehuvudet Access-Control-Request-Method.
Access-Control-Allow-Headers Om preflight-begäran lyckas anges det här huvudet till det värde eller värden som angetts för begärandehuvudet Access-Control-Request-Headers.
Access-Control-Max-Age Anger hur lång tid som användaragenten tillåts cachelagrar preflight-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 Blob Request körs alltid anonymt. Det kräver inte auktorisering och ignorerar autentiseringsuppgifter om de tillhandahålls.

Anteckning

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

Exempel på begäran och svar

I följande exempel skickas en preflight-begä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.blob.core.windows.net/mycontainer/myblockblob  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 förfrågningsbegä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 preflight-begäran svarar tjänsten på preflight-begäran med statuskod 200 (OK). Svaret innehåller de nödvändiga Access-Control rubrikerna. I det här fallet debiteras begäran.

Om CORS inte är aktiverat eller om ingen CORS-regel matchar preflight-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 nödvändiga OriginAccess-Control-Request-Method och rubrikerna.

Preflight-begäran är en mekanism för att fråga CORS-funktionen för en lagringstjänst som är associerad med ett visst lagringskonto. Begäran före avfärd är inte riktad till en specifik resurs.

Fakturering

Prisbegäranden kan komma från klienter som använder Blob Storage-API:er, antingen direkt via REST-API:et för Blob Storage eller från ett Azure Storage-klientbibliotek. Dessa begäranden ackumulerar avgifter per transaktion. Typen av transaktion påverkar hur kontot debiteras. Lästransaktioner till exempel tillfaller en annan faktureringskategori än skrivtransaktioner. I följande tabell visas faktureringskategorin för Preflight Blob Request begäranden baserat på lagringskontotypen:

Åtgärd Typ av lagringskonto Faktureringskategori
Preflight Blob Request Premium-blockblob
Standard generell användning v2
Andra åtgärder
Preflight Blob Request Standard generell användning v1 Läsåtgärder

Mer information om priser för den angivna faktureringskategorin finns i Azure Blob Storage Prissättning.

Se även

Åtgärder för kontot (Blob Storage)
CORS-stöd för Azure Storage