Előzetes táblakérés
A Preflight Table Request
művelet a kérés elküldése előtt lekérdezi az Azure Table Storage eltérő eredetű erőforrás-megosztási (CORS) szabályait.
Egy webböngésző vagy egy másik felhasználói ügynök olyan előzetes kérést küld, amely tartalmazza az ügynök által elkérni kívánt kérés forrástartományát, metódusát és fejléceit. Ha a CORS engedélyezve van a Table Storage-hoz, akkor a Table Storage kiértékeli az előzetes kérést a fióktulajdonos által a Table Service tulajdonságainak beállítása révén konfigurált CORS-szabályok alapján. A Table Storage ezután elfogadja vagy elutasítja a kérést.
A CORS-ról és az elővizsgálati kérelemről további információt az Azure Storage CORS-specifikációját és CORS-támogatását ismertető cikkben talál.
Kérés
A következő módon adhatja meg a következőket Preflight Table Request
. Cserélje le a <account-name>
kifejezést a tárfiókja nevére. Cserélje le <table-resource>
a elemet annak a táblaerőforrásnak a nevére, amely a kérés célja lesz.
HTTP-parancs | Kérés URI-ja | HTTP-verzió |
---|---|---|
OPTIONS |
http://<account-name> .table.core.windows.net/<table-resource> |
HTTP/1.1 |
Az URI-nak mindig tartalmaznia kell a perjelet (/), hogy elkülönítse a gazdagép nevét az URI elérési útjától és lekérdezési részeitől. Ebben a műveletben az URI elérési útja üres lehet, vagy bármely táblaerőforrásra mutathat.
Előfordulhat, hogy az erőforrás az előzetes kérés időpontjában létezik vagy sem. Az előzetes kérést a szolgáltatás szintjén értékeli ki a rendszer a szolgáltatás CORS-szabályai alapján, így az erőforrásnév jelenléte vagy hiánya nem befolyásolja a művelet sikerességét vagy sikertelenségét.
URI-paraméterek
Nincsenek.
Kérésfejlécek
Az alábbi táblázat a szükséges és nem kötelező kérelemfejléceket ismerteti:
Kérelem fejléce | Leírás |
---|---|
Origin |
Kötelező. Meghatározza a kérés forrását. A rendszer ellenőrzi a forrást a szolgáltatás CORS-szabályaival, hogy megállapítsa az előzetes kérés sikerességét vagy sikertelenségét. |
Access-Control-Request-Method |
Kötelező. A kérelem metódusát (vagy HTTP-parancsát) adja meg. A rendszer összeveti a metódust a szolgáltatás CORS-szabályaival az előzetes kérés sikertelenségének vagy sikerességének meghatározásához. |
Access-Control-Request-Headers |
Választható. Megadja az elküldött kérelemfejléceket. Ha nincs jelen, a szolgáltatás feltételezi, hogy a kérés nem tartalmaz fejléceket. |
A kérés törzse
Nincsenek.
Reagálás
A válasz egy HTTP-állapotkódot és válaszfejléceket tartalmaz.
Állapotkód
A sikeres művelet a 200 -os állapotkódot adja vissza (OK).
Az állapotkódokkal kapcsolatos információkért lásd: Állapot- és hibakódok.
Válaszfejlécek
A műveletre adott válasz a következő fejléceket tartalmazza. A válasz további szabványos HTTP-fejléceket is tartalmazhat. Minden szabványos fejléc megfelel a HTTP/1.1 protokoll specifikációjának.
Az előzetes kérésfejlécekkel kapcsolatos részletekért lásd a CORS specifikációját.
Válaszfejléc | Description |
---|---|
Access-Control-Allow-Origin |
Az engedélyezett forrást jelzi, amely megfelel a kérelem forrásfejlécének, ha az előzetes kérés sikeres. |
Access-Control-Allow-Methods |
Ha az elővizsgálati kérelem sikeres, a fejléc a kérelemfejléchez Access-Control-Request-Method megadott értékre vagy értékekre van állítva. |
Access-Control-Allow-Headers |
Ha az elővizsgálati kérelem sikeres, a fejléc a kérelemfejléchez Access-Control-Request-Headers megadott értékre vagy értékekre van állítva. |
Access-Control-Max-Age |
Megadja, hogy a felhasználói ügynök mennyi ideig gyorsítótárazhatja a jövőbeli kérések elővizsgálati kérését. |
Access-Control-Allow-Credentials |
Azt jelzi, hogy a kérést hitelesítő adatokkal lehet-e intézni. Ez a fejléc mindig értékre true van állítva. |
Választörzs
Nincsenek.
Engedélyezés
A Preflight Table Request
művelet mindig névtelenül fut. Nem igényel hitelesítést, és figyelmen kívül hagyja a hitelesítő adatokat, ha meg vannak adva.
Megjegyzés
Ha engedélyezte az Azure Storage-elemzést, és metrikákat naplóz, a rendszer a Preflight Table Request
művelet hívását a következőként naplózza: AnonymousSuccess
. Ezért ha a Azure Portal metrikáit tekinti meg, a naplóban a következőhöz Preflight Table Request
fog megjelenniAnonymousSuccess
: . Ez a metrika nem azt jelzi, hogy a személyes adatok biztonsága sérült, de csak azt, hogy a Preflight Table Request
művelet 200 -os állapotkóddal (OK) sikerült.
Mintakérés és válasz
Az alábbi példa egy előzetes kérést küld a forráshoz www.contoso.com
. A kérelemmetódus értéke PUT
, a kérelemfejlécek pedig a és accept
a értékre content-type
vannak állítva.
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
A válasz azt jelzi, hogy a CORS engedélyezve van a szolgáltatásban, és hogy egy CORS-szabály megfelel az előzetes kérésnek:
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
Megjegyzések
Ha a CORS engedélyezve van a szolgáltatáshoz, és egy CORS-szabály megfelel az elővizsgálati kérésnek, a szolgáltatás a 200-ás (OK) állapotkóddal válaszol az elővizsgálati kérelemre. A válasz tartalmazza a szükséges Access-Control
fejléceket. Ebben az esetben a kérelem számlázása történik.
Ha a CORS nincs engedélyezve, vagy egyetlen CORS-szabály sem felel meg az előzetes kérésnek, a szolgáltatás a 403-at (Tiltott) állapotkóddal válaszolja meg. Ebben az esetben a kérelem számlázása nem történik meg.
Ha a OPTIONS
kérés helytelen formátumú, a szolgáltatás a 400-ás állapotkóddal válaszol (hibás kérés), és a kérés nem lesz számlázva. Hibás formátumú kérés például az, amely nem tartalmazza a szükséges Origin
és Access-Control-Request-Method
fejléceket.
Az előzetes kérés egy olyan mechanizmus, amellyel lekérdezhető egy adott tárfiókhoz társított tárolási szolgáltatás CORS-képessége. Az előzetes kérés nem egy adott erőforrásra irányul.
Lásd még
A fiók műveletei (Table Storage)
CORS-támogatás az Azure Storage-hoz