Žádost fronty před výstupem

Operace Preflight Queue Request se před odesláním žádosti dotazuje na pravidla sdílení prostředků mezi zdroji (CORS) pro Azure Queue 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 pro požadavek, který chce agent vytvořit. Pokud je pro službu Queue Storage povolená služba CORS, služba Queue Storage vyhodnocuje předběžný požadavek na pravidla CORS, která vlastník účtu nakonfiguroval prostřednictvím nastavení vlastností služby fronty. Queue Storage pak žádost přijme nebo odmítne.

Další informace o CORS a předběžné žádosti najdete ve specifikaci CORS a podpoře CORS pro Azure Storage.

Žádost

Můžete zadat Preflight Queue Request následujícím způsobem. Nahraďte <account-name> názvem vašeho účtu úložiště. Nahraďte <queue-resource> názvem prostředku fronty, který bude cílem požadavku.

Příkaz HTTP Identifikátor URI žádosti Verze PROTOKOLU HTTP
OPTIONS http://<account-name> .queue.core.windows.net/<queue-resource> HTTP/1.1

Identifikátor URI musí vždy obsahovat lomítko (/), aby se název hostitele oddělil od části URI cesty a dotazu. V případě této operace může být část cesty identifikátoru URI prázdná nebo může odkazovat na jakýkoli prostředek fronty.

Prostředek může nebo nemusí existovat v době, kdy se provádí předběžná žádost. 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 žádost vystavena. Zdroj se kontroluje podle pravidel CORS služby, aby bylo možné určit úspěch nebo selhání předběžného požadavku.
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 bylo možné určit 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žadavky do mezipaměti pro budoucí požadavky.
Access-Control-Allow-Credentials Označ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 Queue 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 služby Azure Storage a protokolujete metriky, zaprotokoluje se Preflight Queue Request volání operace jako AnonymousSuccess. Z tohoto důvodu, pokud zobrazíte metriky v Azure Portal, uvidíte AnonymousSuccess protokolované pro Preflight Queue Request. Tato metrika neznamená, že došlo k ohrožení zabezpečení vašich privátních dat, ale pouze to, že Preflight Queue Request operace byla ú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 PUThodnotu a hlavičky požadavku jsou nastaveny na content-type a accept.

OPTIONS http://myaccount.queue.core.windows.net/myqueue  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  
  

Odpověď indikuje, že je pro službu povolená služba 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 pro službu povolený CORS 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 fakturuje.

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 požadavek se neúčtuje. Příkladem chybného požadavku je požadavek, který neobsahuje požadované Origin hlavičky a Access-Control-Request-Method .

Předběžný požadavek je mechanismus pro dotazování funkce 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 (Queue Storage)
Podpora CORS pro Azure Storage