Preflight Table Request
Åtgärden Preflight Table Request
frågar CORS-reglerna (Cross-Origin Resource Sharing) för Azure Table 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 Table Storage utvärderar Table Storage preflight-begäran mot CORS-reglerna som kontoägaren har konfigurerat via Ange tabelltjänstegenskaper. Table 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 Table Request
följande. Ersätt <account-name>
med namnet på ditt lagringskonto. Ersätt <table-resource>
med namnet på den tabellresurs som ska vara målet för begäran.
HTTP-verb | URI för förfrågan | HTTP-version |
---|---|---|
OPTIONS |
http://<account-name> .table.core.windows.net/<table-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 tabellresurs.
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 Table 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 Table Request
åtgärden som AnonymousSuccess
. Därför visas AnonymousSuccess
loggad för Preflight Table 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 Table 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.table.core.windows.net/mytable 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.
Se även
Åtgärder för kontot (Table Storage)
CORS-stöd för Azure Storage