Żądanie pliku wstępnego

Operacja Preflight File Request wykonuje zapytania względem reguł współużytkowania zasobów między źródłami (CORS) dla Azure Files przed wysłaniem żądania.

Przeglądarka internetowa lub inny agent użytkownika wysyła żądanie wstępne zawierające domenę pochodzenia, metodę i nagłówki żądania, które ma zostać wysłane przez agenta. Jeśli mechanizm CORS jest włączony dla Azure Files, Azure Files ocenia żądanie wstępne względem reguł CORS skonfigurowanych przez właściciela konta za pomocą opcji Ustaw właściwości usługi plików. Azure Files następnie akceptuje lub odrzuca żądanie.

Aby uzyskać więcej informacji na temat mechanizmu CORS i żądania wstępnego, zobacz specyfikację mechanizmu CORS i obsługę mechanizmu CORS dla usługi Azure Storage.

Dostępność protokołu

Włączony protokół udziału plików Dostępne
SMB Tak
NFS Tak

Żądanie

Można określić Preflight File Request w następujący sposób. Zastąp wartość <account-name> nazwą konta magazynu. Zastąp <file-resource> element udziałem, katalogiem lub zasobem pliku, który będzie obiektem docelowym żądania.

Czasownik HTTP Identyfikator URI żądania Wersja PROTOKOŁU 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

Identyfikator URI musi zawsze zawierać ukośnik (/), aby oddzielić nazwę hosta od ścieżki i fragmentów zapytania identyfikatora URI. W przypadku tej operacji część ścieżki identyfikatora URI może być pusta lub może wskazywać dowolny zasób Azure Files. Jeśli zasób Azure Files jest udziałem lub katalogiem, restype parametr zapytania jest wymagany.

Zasób może lub nie istnieje w momencie, gdy zostanie wykonane żądanie wstępne. Żądanie wstępne jest oceniane na poziomie usługi względem reguł CORS usługi, więc obecność lub brak nazwy zasobu nie ma wpływu na powodzenie lub niepowodzenie operacji.

Parametry identyfikatora URI

Brak.

Nagłówki żądań

W poniższej tabeli opisano wymagane i opcjonalne nagłówki żądań:

Nagłówek żądania Opis
Origin Wymagane. Określa pochodzenie, z którego zostanie wystawione żądanie. Źródło jest sprawdzane względem reguł CORS usługi, aby określić powodzenie lub niepowodzenie żądania wstępnego.
Access-Control-Request-Method Wymagane. Określa metodę (lub czasownik HTTP) dla żądania. Metoda jest sprawdzana względem reguł CORS usługi w celu określenia niepowodzenia lub powodzenia żądania wstępnego.
Access-Control-Request-Headers Opcjonalny. Określa nagłówki żądań, które zostaną wysłane. Jeśli nie jest obecny, usługa zakłada, że żądanie nie zawiera nagłówków.
x-ms-allow-trailing-dot: { <Boolean> } Opcjonalny. Wersja 2022-11-02 lub nowsza. Wartość logiczna określa, czy końcowa kropka obecna w adresie URL żądania powinna być przycinana, czy nie. Aby uzyskać więcej informacji, zobacz Nazewnictwo i odwoływanie się do udziałów, katalogów, plików i metadanych.

Treść żądania

Brak.

Reakcja

Odpowiedź zawiera kod stanu HTTP i zestaw nagłówków odpowiedzi.

Kod stanu

Operacja zakończona powodzeniem zwraca kod stanu 200 (OK).

Nagłówki odpowiedzi

Odpowiedź na tę operację zawiera następujące nagłówki. Odpowiedź może również zawierać dodatkowe standardowe nagłówki HTTP. Wszystkie nagłówki standardowe są zgodne ze specyfikacją protokołu HTTP/1.1.

Aby uzyskać szczegółowe informacje na temat nagłówków żądań wstępnych, zobacz specyfikację mechanizmu CORS.

Nagłówek odpowiedzi Opis
Access-Control-Allow-Origin Wskazuje dozwolone źródło, które odpowiada nagłówkowi źródła w żądaniu, jeśli żądanie wstępne zakończy się powodzeniem.
Access-Control-Allow-Methods Jeśli żądanie wstępne zakończy się powodzeniem, ten nagłówek jest ustawiony na wartość lub wartości określone dla nagłówka Access-Control-Request-Methodżądania .
Access-Control-Allow-Headers Jeśli żądanie wstępne zakończy się powodzeniem, ten nagłówek jest ustawiony na wartość lub wartości określone dla nagłówka Access-Control-Request-Headersżądania .
Access-Control-Max-Age Określa czas, przez jaki agent użytkownika może buforować żądanie wstępne dla przyszłych żądań.
Access-Control-Allow-Credentials Wskazuje, czy żądanie można wykonać za pomocą poświadczeń. Ten nagłówek jest zawsze ustawiony na truewartość .

Treść odpowiedzi

Brak.

Autoryzacja

Operacja Preflight File Request zawsze jest wykonywana anonimowo. Nie wymaga autoryzacji i ignoruje poświadczenia, jeśli zostały podane.

Uwaga

Jeśli włączono analizę usługi Azure Storage i rejestrujesz metryki, wywołanie Preflight File Request operacji jest rejestrowane jako AnonymousSuccess. Z tego powodu, jeśli wyświetlisz metryki w Azure Portal, zobaczysz AnonymousSuccess zarejestrowane metryki dla Preflight File Requestelementu . Ta metryka nie wskazuje, że dane prywatne zostały naruszone, ale tylko że Preflight File Request operacja zakończyła się pomyślnie z kodem stanu 200 (OK).

Przykładowe żądanie i odpowiedź

Poniższy przykład wysyła żądanie wstępne dla źródła www.contoso.com. Metoda żądania jest ustawiona na PUT, a nagłówki żądań są ustawione na content-type i 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    

Odpowiedź wskazuje, że mechanizm CORS jest włączony dla usługi i że reguła CORS jest zgodna z żądaniem wstępnym:

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

Uwagi

Jeśli mechanizm CORS jest włączony dla usługi i reguła CORS jest zgodna z żądaniem wstępnym, usługa odpowiada na żądanie wstępne z kodem stanu 200 (OK). Odpowiedź zawiera wymagane Access-Control nagłówki. W takim przypadku żądanie jest rozliczane.

Jeśli mechanizm CORS nie jest włączony lub żadna reguła CORS nie jest zgodna z żądaniem wstępnym, usługa odpowiada kodem stanu 403 (Zabronione). W takim przypadku żądanie nie jest rozliczane.

OPTIONS Jeśli żądanie jest źle sformułowane, usługa odpowiada kodem stanu 400 (nieprawidłowe żądanie), a żądanie nie jest rozliczane. Przykładem źle sformułowanego żądania jest to żądanie, które nie zawiera wymaganych Origin i Access-Control-Request-Method nagłówków.

Żądanie wstępne to mechanizm służący do wykonywania zapytań dotyczących możliwości mechanizmu CORS usługi magazynu skojarzonej z określonym kontem magazynu. Żądanie wstępne nie jest przeznaczone dla określonego zasobu.