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 | |
NFS |
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-Method permintaan . |
Access-Control-Allow-Headers |
Jika permintaan preflight berhasil, header ini diatur ke nilai atau nilai yang ditentukan untuk header Access-Control-Request-Headers permintaan . |
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.