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-Methodpož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-Headerspož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 PUTa 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