Předběžná žádost o objekty blob

Operace Preflight Blob Request se před odesláním žádosti dotazuje na pravidla sdílení prostředků mezi zdroji (CORS) pro Azure Blob 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 Blob Storage povolený CORS, služba Blob Storage vyhodnocuje předběžný požadavek na pravidla CORS, která vlastník účtu nakonfiguroval prostřednictvím nastavení vlastností služby Blob Service. Blob 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 Blob Request následujícím způsobem. Nahraďte <account-name> názvem vašeho účtu úložiště. Nahraďte <blob-resource> kontejnerem nebo prostředkem objektu blob, který bude cílem požadavku.

Příkaz HTTP Identifikátor URI žádosti Verze PROTOKOLU HTTP
OPTIONS http://<account-name>.blob.core.windows.net/<blob-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 libovolný kontejner nebo prostředek objektu blob.

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 Blob 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 Blob Request volání operace jako AnonymousSuccess. Z tohoto důvodu, pokud zobrazíte metriky v Azure Portal, uvidíte AnonymousSuccess protokolované pro Preflight Blob Request. Tato metrika neznamená, že došlo k ohrožení zabezpečení vašich privátních dat, ale pouze to, že Preflight Blob 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.blob.core.windows.net/mycontainer/myblockblob  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.

Fakturace

Žádosti o ceny můžou pocházet od klientů, kteří používají rozhraní BLOB Storage API, a to buď přímo prostřednictvím rozhraní REST API služby Blob Storage, nebo z klientské knihovny Služby Azure Storage. Tyto požadavky načítají poplatky za transakci. Typ transakce ovlivňuje způsob účtování poplatku za účet. Například transakce čtení se načítají do jiné kategorie fakturace než transakce zápisu. Následující tabulka ukazuje kategorii fakturace pro Preflight Blob Request žádosti založené na typu účtu úložiště:

Operace Typ účtu úložiště Kategorie fakturace
Předběžná žádost o objekty blob Objekt blob bloku úrovně Premium
Standard pro obecné účely v2
Další operace
Předběžná žádost o objekty blob Standard pro obecné účely v1 Operace čtení

Informace o cenách pro zadanou kategorii fakturace najdete v tématu Azure Blob Storage Ceny.

Viz také

Operace s účtem (Blob Storage)
Podpora CORS pro Azure Storage