Apa perbedaan antara
request.ContentType = "application / json; charset = utf-8";
dan
webRequest.ContentType = "application / x-www-form-urlencoded";
json
web-services
http-headers
Prithvi Raj Nandiwal
sumber
sumber
x-www-form-urlencoded
untuk permintaan AJAX seperti suara dll. Respons yang dikirim kembali adalahJSON
. Saya akan berpikir bahwa lebih baik untuk memiliki pasangan permintaan / respons simetris yaitu keduanya JSON.application/x-www-form-urlencoded
akan membingungkan server (Elixir menggunakan Poison dalam kasus saya) dan menghasilkan beberapa penguraian objek yang tidak tepat (entah bagaimana mengubah array bersarang objek ke peta, bukan daftar). Penggunaanapplication/json
harus menjadi pilihan yang benar dalam kasus ini.Dari mana nama aplikasi / x-www-form-urlencoded berasal?
Jika Anda mengirim permintaan GET HTTP , Anda dapat menggunakan parameter kueri sebagai berikut:
http://example.com/path/to/page
? nama = musang & warna = unguKonten bidang dikodekan sebagai string kueri. The
application/x-www-form- urlencoded
Nama 's berasal dari sebelumnya parameter url permintaan tetapi parameter query di mana tubuh permintaan bukannya url.Seluruh data formulir dikirim sebagai string kueri panjang. String kueri berisi pasangan nama-nilai yang dipisahkan oleh & karakter
misal field1 = value1 & field2 = value2
Ini bisa berupa permintaan sederhana yang disebut sederhana - jangan memicu pemeriksaan prapengaturan
Permintaan sederhana harus memiliki beberapa properti. Anda dapat melihat di sini untuk info lebih lanjut. Salah satunya adalah bahwa hanya ada tiga nilai yang diizinkan untuk header Jenis Konten untuk permintaan sederhana
3.Untuk sebagian besar pohon param datar, aplikasi / x-www-form-urlencoded dicoba dan diuji.
aksioma dan superagen , dua pustaka HTTP npm yang lebih populer, bekerja dengan badan JSON secara default.
Sekarang, jika permintaan itu bukan permintaan sederhana , browser secara otomatis mengirim permintaan HTTP sebelum yang asli dengan metode OPTIONS untuk memeriksa apakah aman untuk mengirim permintaan asli. Jika tidak apa-apa, maka kirimkan permintaan aktual. Anda dapat melihat di sini untuk info lebih lanjut.
sumber