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-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ž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 PUT
hodnotu 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