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 Ano
NFS Yes

Žá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-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 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 PUTa 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.