Permintaan Tabel Preflight

Operasi ini Preflight Table Request meminta aturan Berbagi Sumber Daya Lintas Asal (CORS) untuk Azure Table 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 Table Storage, Maka Table Storage mengevaluasi permintaan preflight terhadap aturan CORS yang telah dikonfigurasi pemilik akun melalui Atur Properti Layanan Tabel. Table Storage kemudian menerima atau menolak permintaan.

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

Minta

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

Kata kerja HTTP Meminta URI Versi HTTP
OPTIONS http://<account-name> .table.core.windows.net/<table-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 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.

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 Pilihan. Menentukan header permintaan yang akan dikirim. Jika tidak ada, layanan mengasumsikan bahwa permintaan tidak menyertakan header.

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 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 Table 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 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).

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

Lihat juga

Operasi pada akun (Table Storage)
Dukungan CORS untuk Azure Storage