Bagikan melalui


Permintaan File Preflight

Operasi ini Preflight File Request meminta aturan Berbagi Sumber Daya Lintas Asal (CORS) untuk Azure Files sebelum mengirim permintaan.

Browser web atau agen pengguna lain mengirimkan permintaan preflight yang mencakup domain asal, metode, dan header untuk permintaan yang ingin dibuat agen. Jika CORS diaktifkan untuk Azure Files, maka Azure Files mengevaluasi permintaan preflight terhadap aturan CORS yang telah dikonfigurasi pemilik akun melalui Set File Service Properties. Azure Files kemudian menerima atau menolak permintaan.

Untuk informasi selengkapnya tentang CORS dan permintaan preflight, lihat spesifikasi CORS dan dukungan CORS untuk Azure Storage.

Ketersediaan protokol

Mengaktifkan protokol berbagi file Tersedia
SMB Ya
NFS Ya

Minta

Anda dapat menentukan Preflight File Request sebagai berikut. Ganti <account-name> dengan nama akun penyimpanan Anda. Ganti <file-resource> dengan berbagi, direktori, atau sumber daya file yang akan menjadi target permintaan.

Kata kerja HTTP Meminta URI Versi 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

URI harus selalu menyertakan garis miring (/) untuk memisahkan nama host dari jalur dan bagian kueri URI. Dalam kasus operasi ini, bagian jalur URI dapat kosong, atau dapat menunjuk ke sumber daya Azure Files. Jika sumber daya Azure Files adalah berbagi atau direktori, restype parameter kueri diperlukan.

Sumber daya mungkin atau mungkin tidak ada pada saat permintaan preflight dibuat. Permintaan preflight dievaluasi pada tingkat layanan terhadap aturan CORS layanan, sehingga ada atau tidak adanya nama sumber daya tidak memengaruhi keberhasilan atau kegagalan operasi.

Parameter URI

Tidak ada.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional:

Meminta kop Deskripsi
Origin Wajib diisi. Menentukan asal dari mana permintaan akan dikeluarkan. Asal diperiksa terhadap aturan CORS layanan untuk menentukan keberhasilan atau kegagalan permintaan preflight.
Access-Control-Request-Method Wajib diisi. Menentukan metode (atau kata kerja HTTP) untuk permintaan tersebut. Metode ini diperiksa terhadap aturan CORS layanan untuk menentukan kegagalan atau keberhasilan permintaan preflight.
Access-Control-Request-Headers Opsional. Menentukan header permintaan yang akan dikirim. Jika tidak ada, layanan mengasumsikan bahwa permintaan tidak menyertakan header.
x-ms-allow-trailing-dot: { <Boolean> } Opsional. Versi 2022-11-02 dan yang lebih baru. Nilai Boolean menentukan apakah titik berikutnya yang ada dalam url permintaan harus dipangkas atau tidak. Untuk informasi selengkapnya, lihat Memberi nama dan mereferensikan berbagi, direktori, file, dan metadata.

Isi permintaan

Tidak ada.

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode status

Operasi yang berhasil mengembalikan kode status 200 (OK).

Header respons

Respons untuk operasi ini mencakup header berikut. Respons mungkin juga menyertakan header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.

Untuk detail tentang header permintaan preflight, lihat spesifikasi CORS.

Header respons Deskripsi
Access-Control-Allow-Origin Menunjukkan asal yang diizinkan, yang cocok dengan header asal dalam permintaan jika permintaan preflight berhasil.
Access-Control-Allow-Methods Jika permintaan preflight berhasil, header ini diatur ke nilai atau nilai yang ditentukan untuk header Access-Control-Request-Methodpermintaan .
Access-Control-Allow-Headers Jika permintaan preflight berhasil, header ini diatur ke nilai atau nilai yang ditentukan untuk header Access-Control-Request-Headerspermintaan .
Access-Control-Max-Age Menentukan lamanya waktu agen pengguna diizinkan untuk menyimpan permintaan preflight untuk permintaan di masa mendatang.
Access-Control-Allow-Credentials Menunjukkan apakah permintaan dapat dibuat melalui kredensial. Header ini selalu diatur ke true.

Isi Respons

Tidak ada.

Authorization

Operasi Preflight File Request selalu dijalankan secara anonim. Ini tidak memerlukan otorisasi, dan mengabaikan kredensial jika diberikan.

Catatan

Jika Anda telah mengaktifkan analitik Azure Storage dan mencatat metrik, panggilan ke Preflight File Request operasi dicatat sebagai AnonymousSuccess. Untuk alasan ini, jika Anda melihat metrik di portal Azure, Anda akan melihat AnonymousSuccess dicatat untuk Preflight File Request. Metrik ini tidak menunjukkan bahwa data privat Anda telah disusupi, tetapi hanya operasi yang Preflight File Request berhasil dengan kode status 200 (OK).

Sampel permintaan dan respons

Contoh berikut mengirimkan permintaan preflight untuk asal www.contoso.com. Metode permintaan diatur ke PUT, dan header permintaan diatur ke content-type dan 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    

Respons menunjukkan bahwa CORS diaktifkan untuk layanan, dan bahwa aturan CORS cocok dengan permintaan preflight:

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

Keterangan

Jika CORS diaktifkan untuk layanan dan aturan CORS cocok dengan permintaan preflight, layanan merespons permintaan preflight dengan kode status 200 (OK). Respons mencakup header yang diperlukan Access-Control . Dalam hal ini, permintaan ditagih.

Jika CORS tidak diaktifkan atau tidak ada aturan CORS yang cocok dengan permintaan preflight, layanan merespons dengan kode status 403 (Terlarang). Dalam hal ini, permintaan tidak ditagih.

OPTIONS Jika permintaan salah format, layanan merespons dengan kode status 400 (Permintaan Buruk) dan permintaan tidak ditagih. Contoh permintaan yang salah format adalah yang tidak berisi header dan Access-Control-Request-Method yang diperlukanOrigin.

Permintaan preflight adalah mekanisme untuk mengkueri kemampuan CORS dari layanan penyimpanan yang terkait dengan akun penyimpanan tertentu. Permintaan preflight tidak ditargetkan ke sumber daya tertentu.