Permintaan Blob Preflight
Operasi ini Preflight Blob Request
meminta aturan Berbagi Sumber Daya Lintas Asal (CORS) untuk Azure Blob Storage 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 Blob Storage, Maka Blob Storage mengevaluasi permintaan preflight terhadap aturan CORS yang telah dikonfigurasi pemilik akun melalui Atur Properti Blob Service. Blob Storage kemudian menerima atau menolak permintaan.
Untuk informasi selengkapnya tentang CORS dan permintaan preflight, lihat spesifikasi CORS dan dukungan CORS untuk Azure Storage.
Anda dapat menentukan Preflight Blob Request
sebagai berikut. Ganti <account-name>
dengan nama akun penyimpanan Anda. Ganti <blob-resource>
dengan kontainer atau sumber daya blob yang akan menjadi target permintaan.
Kata kerja HTTP | Meminta URI | Versi HTTP |
---|---|---|
OPTIONS |
http://<account-name>.blob.core.windows.net/<blob-resource> |
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 kontainer atau blob apa pun.
Sumber daya mungkin atau mungkin tidak ada pada saat permintaan preflight dibuat. Permintaan preflight dievaluasi pada tingkat layanan terhadap aturan CORS layanan, sehingga keberadaan atau tidak adanya nama sumber daya tidak memengaruhi keberhasilan atau kegagalan operasi.
Tidak ada.
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. |
Tidak ada.
Respons mencakup kode status HTTP dan sekumpulan header respons.
Operasi yang berhasil mengembalikan kode status 200 (OK).
Untuk informasi tentang kode status, lihat Kode status dan kesalahan.
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 . |
Tidak ada.
Preflight Blob Request
Operasi selalu dijalankan secara anonim. Ini tidak memerlukan otorisasi, dan mengabaikan kredensial jika disediakan.
Catatan
Jika Anda telah mengaktifkan analitik Azure Storage dan mencatat metrik, panggilan ke Preflight Blob Request
operasi dicatat sebagai AnonymousSuccess
. Untuk alasan ini, jika Anda melihat metrik di portal Azure, Anda akan melihat AnonymousSuccess
dicatat untuk Preflight Blob Request
. Metrik ini tidak menunjukkan bahwa data privat Anda telah disusupi, tetapi hanya operasi yang Preflight Blob Request
berhasil dengan kode status 200 (OK).
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.blob.core.windows.net/mycontainer/myblockblob 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
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.
Permintaan harga dapat berasal dari klien yang menggunakan API Blob Storage, baik langsung melalui BLob Storage REST API, atau dari pustaka klien Azure Storage. Permintaan ini mengumpulkan biaya per transaksi. Jenis transaksi memengaruhi bagaimana akun ditagih. Misalnya, membaca transaksi bertambah ke kategori penagihan yang berbeda dari transaksi tulis. Tabel berikut ini memperlihatkan kategori penagihan untuk Preflight Blob Request
permintaan berdasarkan jenis akun penyimpanan:
Operasi | Jenis akun penyimpanan | Kategori penagihan |
---|---|---|
Permintaan Blob Preflight | Objek besar biner blok premium Tujuan umum standar v2 |
Operasi lainnya |
Permintaan Blob Preflight | Tujuan umum standar v1 | Membacakan operasi |
Untuk mempelajari tentang harga untuk kategori penagihan yang ditentukan, lihat harga Azure Blob Storage.
Operasi pada akun (Blob Storage)
Dukungan CORS untuk Azure Storage