Permintaan Tabel Preflight

Operasi ini Preflight Table Request meminta aturan Berbagi Sumber Daya Lintas Asal (CORS) untuk layanan Tabel sebelum mengirim permintaan aktual. Browser web atau agen pengguna lain mengirimkan permintaan preflight yang mencakup domain asal, metode, dan header untuk permintaan aktual yang ingin dibuat agen. Jika CORS diaktifkan untuk layanan Tabel, maka layanan Tabel mengevaluasi permintaan preflight terhadap aturan CORS yang telah dikonfigurasi pemilik akun melalui Atur Properti Layanan Tabel, dan menerima atau menolak permintaan.

Untuk informasi selengkapnya tentang CORS dan permintaan preflight, lihat spesifikasi CORS dan Dukungan CORS untuk layanan Storage

Minta

Preflight Table Request dapat ditentukan sebagai berikut. Ganti <account-name> dengan nama akun penyimpanan Anda. Ganti <table-resource> dengan nama sumber daya tabel yang akan menjadi target permintaan aktual:

Kata Kerja HTTP Meminta URI Versi HTTP
OPTIONS http://<account-name> .table.core.windows.net/<table-resource> HTTP/1.1

Perhatikan bahwa 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 tabel 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 ada atau tidak adanya nama sumber daya tidak memengaruhi keberhasilan atau kegagalan operasi.

Parameter URI

Tidak ada.

Judul Permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Header Permintaan Deskripsi
Origin Wajib diisi. Menentukan asal dari mana permintaan aktual 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 aktual. Metode ini diperiksa terhadap aturan CORS layanan untuk menentukan kegagalan atau keberhasilan permintaan preflight.
Access-Control-Request-Headers Opsional. Menentukan header untuk header permintaan aktual yang akan dikirim, maka layanan mengasumsikan tidak ada header yang dikirim dengan permintaan aktual.

Isi Permintaan

Tidak ada.

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode Status

Operasi yang berhasil mengembalikan kode status 200 (OK).

Untuk informasi tentang kode status, lihat Status dan Kode Kesalahan.

Header Respons

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

Lihat spesifikasi CORS untuk detail tentang header permintaan preflight.

Header Respons Deskripsi
Access-Control-Allow-Origin 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 permintaan Access-Control-Request-Method.
Access-Control-Allow-Headers Jika permintaan preflight berhasil, header ini diatur ke nilai atau nilai yang ditentukan untuk header permintaan Access-Control-Request-Headers.
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 aktual dapat dibuat menggunakan kredensial. Header ini selalu diatur ke true.

Isi Respons

Tidak ada.

Authorization

Preflight Table 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, perhatikan bahwa panggilan ke Preflight Table Request operasi dicatat sebagai AnonymousSuccess. Untuk alasan ini, jika Anda melihat metrik di portal Azure, Anda akan melihat AnonymousSuccess dicatat untuk Preflight Table Request. Metrik ini tidak menunjukkan bahwa data privat Anda telah disusupi, tetapi hanya operasi yang Preflight Table Request berhasil dengan kode status 200 (OK).

Permintaan dan Respons Sampel

Contoh berikut mengirimkan permintaan preflight untuk www.contoso.com asal, dengan metode permintaan diatur ke PUT dan header permintaan diatur ke content-type dan accept.

OPTIONS http://myaccount.table.core.windows.net/mytable  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 ada aturan CORS yang cocok dengan permintaan preflight, layanan merespons permintaan preflight dengan kode status 200 (OK). Respons mencakup header yang diperlukan Access-Control . Dalam hal ini, permintaan akan ditagih.

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

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

Perhatikan bahwa 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.

Lihat juga

Operasi pada Akun (Layanan Tabel)
Dukungan CORS untuk Layanan Storage