Předběžný požadavek na tabulku
Před odesláním požadavku se Preflight Table Request
operace dotáže na pravidla sdílení prostředků mezi zdroji (CORS) pro Azure Table Storage.
Webový prohlížeč nebo jiný uživatelský agent odešle předběžný požadavek, který obsahuje původní doménu, metodu a hlavičky požadavku, který chce agent provést. Pokud je pro službu Table Storage povolený CORS, služba Table Storage vyhodnotí předběžný požadavek na základě pravidel CORS, která vlastník účtu nakonfiguroval prostřednictvím nastavení vlastností služby Table Service. Table Storage pak žádost přijme nebo odmítne.
Další informace o CORS a předběžných požadavcích najdete ve specifikaci CORS a podpoře CORS pro Azure Storage.
Žádost
Můžete zadat Preflight Table Request
následujícím způsobem. Nahraďte <account-name>
názvem vašeho účtu úložiště. Nahraďte <table-resource>
názvem prostředku tabulky, který bude cílem požadavku.
Příkaz HTTP | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
OPTIONS |
http://<account-name> .table.core.windows.net/<table-resource> |
HTTP/1.1 |
Identifikátor URI musí vždy obsahovat lomítko (/), aby se název hostitele oddělil od části cesty a dotazu v identifikátoru URI. V případě této operace může být část cesty identifikátoru URI prázdná nebo může odkazovat na libovolný prostředek tabulky.
Prostředek může nebo nemusí existovat v době, kdy je proveden předběžný požadavek. Předběžný požadavek se vyhodnocuje na úrovni služby podle pravidel CORS služby, takže přítomnost nebo absence názvu prostředku nemá vliv na úspěch nebo selhání operace.
Parametry identifikátoru URI
Žádné
Hlavičky požadavku
Následující tabulka popisuje požadované a volitelné hlavičky požadavků:
Hlavička požadavku | Popis |
---|---|
Origin |
Povinná hodnota. Určuje původ, ze kterého bude požadavek vystaven. Původ se kontroluje v pravidlech CORS služby, aby se zjistilo, jestli byl předběžný požadavek úspěšný nebo neúspěšný. |
Access-Control-Request-Method |
Povinná hodnota. Určuje metodu (nebo příkaz HTTP) pro požadavek. Metoda se kontroluje podle pravidel CORS služby, aby se zjistilo selhání nebo úspěch předběžného požadavku. |
Access-Control-Request-Headers |
Nepovinný parametr. Určuje hlavičky požadavku, které budou odeslány. Pokud není k dispozici, služba předpokládá, že požadavek neobsahuje hlavičky. |
Text požadavku
Žádné
Odpověď
Odpověď obsahuje stavový kód HTTP a sadu hlaviček odpovědi.
Stavový kód
Úspěšná operace vrátí stavový kód 200 (OK).
Informace o stavových kódech najdete v tématu Stavové kódy a kódy chyb.
Hlavičky odpovědi
Odpověď na tuto operaci obsahuje následující hlavičky. Odpověď může také obsahovat další standardní hlavičky HTTP. Všechny standardní hlavičky odpovídají specifikaci protokolu HTTP/1.1.
Podrobnosti o hlavičkách předběžných požadavků najdete ve specifikaci CORS.
Hlavička odpovědi | Description |
---|---|
Access-Control-Allow-Origin |
Označuje povolený původ, který odpovídá hlavičce původu v požadavku, pokud je předběžný požadavek úspěšný. |
Access-Control-Allow-Methods |
Pokud je předběžný požadavek úspěšný, je tato hlavička nastavena na hodnotu nebo hodnoty zadané pro hlavičku Access-Control-Request-Method požadavku . |
Access-Control-Allow-Headers |
Pokud je předběžný požadavek úspěšný, je tato hlavička nastavena na hodnotu nebo hodnoty zadané pro hlavičku Access-Control-Request-Headers požadavku . |
Access-Control-Max-Age |
Určuje dobu, po kterou může uživatelský agent ukládat předběžný požadavek do mezipaměti pro budoucí požadavky. |
Access-Control-Allow-Credentials |
Určuje, jestli je možné požadavek provést prostřednictvím přihlašovacích údajů. Tato hlavička je vždy nastavená na true . |
Text odpovědi
Žádné
Autorizace
Operace se Preflight Table Request
vždy provádí anonymně. Nevyžaduje autorizaci, a pokud jsou zadané, ignoruje přihlašovací údaje.
Poznámka
Pokud jste povolili analýzu azure storage a protokolujete metriky, volání Preflight Table Request
operace se protokoluje jako AnonymousSuccess
. Z tohoto důvodu se při zobrazení metrik v Azure Portal zaprotokoluje AnonymousSuccess
.Preflight Table Request
Tato metrika neznamená, že došlo k ohrožení zabezpečení vašich soukromých dat, ale pouze to, že Preflight Table Request
operace proběhla úspěšně se stavovým kódem 200 (OK).
Ukázkový požadavek a odpověď
Následující příklad odešle předběžný požadavek na původ www.contoso.com
. Metoda požadavku je nastavená na PUT
a hlavičky požadavku jsou nastavené na content-type
a 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
Z odpovědi vyplývá, že je pro službu povolený CORS a že pravidlo CORS odpovídá předběžnému požadavku:
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
Poznámky
Pokud je cors pro službu povolený a pravidlo CORS odpovídá předběžnému požadavku, služba odpoví na předběžný požadavek stavovým kódem 200 (OK). Odpověď obsahuje požadované Access-Control
hlavičky. V takovém případě se žádost účtuje.
Pokud CORS není povolené nebo žádné pravidlo CORS neodpovídá předběžnému požadavku, služba odpoví stavovým kódem 403 (Zakázáno). V takovém případě se žádost neúčtuje.
OPTIONS
Pokud je požadavek poškozený, služba odpoví stavovým kódem 400 (Chybný požadavek) a žádost se neúčtuje. Příkladem chybného požadavku je požadavek, který neobsahuje povinné Origin
hlavičky a Access-Control-Request-Method
.
Předběžný požadavek je mechanismus pro dotazování schopnosti CORS služby úložiště, která je přidružená k určitému účtu úložiště. Předběžný požadavek není cílený na konkrétní prostředek.
Viz také
Operace s účtem (Table Storage)
Podpora CORS pro Azure Storage