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 Request
om 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å PUT
och 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 Origin
Access-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