Předběžný požadavek na soubor
Před odesláním požadavku se Preflight File Request
operace dotazuje pravidel sdílení prostředků mezi zdroji (CORS) na Azure Files.
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 Azure Files povolený CORS, Azure Files vyhodnocuje předběžný požadavek na základě pravidel CORS, která vlastník účtu nakonfiguroval prostřednictvím nastavení vlastností souborové služby. Azure Files 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.
Dostupnost protokolu
Povolený protokol sdílené složky | K dispozici. |
---|---|
SMB | |
NFS |
Žádost
Můžete zadat Preflight File Request
následujícím způsobem. Nahraďte <account-name>
názvem vašeho účtu úložiště. Nahraďte <file-resource>
sdílenou složkou, adresářem nebo souborovým prostředkem, který bude cílem požadavku.
Příkaz HTTP | Identifikátor URI žádosti | Verze PROTOKOLU HTTP |
---|---|---|
OPTIONS |
http://<account-name>.file.core.windows.net/<file-resource> http://<account-name>.file.core.windows.net/<file-resource>?restype=share http://<account-name>.file.core.windows.net/<file-resource>?restype=directory |
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ý Azure Files prostředek. Pokud je Azure Files prostředkem sdílená složka nebo adresář, restype
je parametr dotazu povinný.
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 v pravidlech 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. |
x-ms-allow-trailing-dot: { <Boolean> } |
Nepovinný parametr. Verze 2022-11-02 a novější. Logická hodnota určuje, jestli se má koncový tečka v adrese URL požadavku oříznout, nebo ne. Další informace najdete v tématu Pojmenování sdílených složek, adresářů, souborů a metadat a odkazování na nich. |
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).
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 File 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 File Request
operace se protokoluje jako AnonymousSuccess
. Z tohoto důvodu se při zobrazení metrik v Azure Portal zaprotokoluje AnonymousSuccess
.Preflight File Request
Tato metrika neznamená, že došlo k ohrožení zabezpečení vašich privátních dat, ale pouze to, že Preflight File 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.file.core.windows.net/myshare/myfile
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.