Pertanyaan Apakah saya memerlukan tipe konten untuk permintaan http get?


Sejauh yang saya mengerti ada dua tempat di mana untuk mengatur jenis konten:

  1. Klien menetapkan tipe konten untuk tubuh yang dikirimnya ke server (misalnya untuk posting)
  2. Server menetapkan tipe konten untuk respons.

Apakah ini berarti saya tidak harus atau tidak boleh mengatur tipe konten untuk semua permintaan saya (sisi klien). Dan jika saya bisa atau harus jenis konten apa itu?

Saya juga membaca dalam beberapa posting bahwa jenis konten klien menentukan jenis konten apa yang ingin diterima klien. Jadi mungkin poin saya 1 tidak benar?


103
2018-04-14 10:05


asal


Jawaban:


Menurut RFC 7231 bagian 3.1.5.5:

Pengirim yang menghasilkan pesan berisi payload body HARUS menghasilkan bidang header Content-Type dalam pesan itu kecuali jenis media yang dimaksudkan dari representasi terlampir tidak diketahui oleh pengirim. Jika kolom header Content-Type tidak ada, penerima MUNGKIN menganggap jenis media dari "aplikasi / octet-stream" ([RFC2046], Bagian 4.5.1) atau memeriksa data untuk menentukan tipenya.

Itu berarti bahwa Content-Type Header HTTP harus disetel hanya untuk PUT dan POST permintaan.


64
2018-05-22 14:04



Dapatkan permintaan seharusnya tidak memiliki tipe konten karena mereka tidak memiliki entitas permintaan (yaitu, tubuh)


61
2018-04-14 10:06



MENDAPATKAN permintaan dapat memiliki header "Terima", yang mengatakan jenis konten mana yang dipahami klien. Server kemudian dapat menggunakannya untuk memutuskan jenis konten yang akan dikirim kembali.

Mereka opsional.

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.1


25
2018-04-14 10:19



Jawaban yang diterima salah. Kutipan itu benar, pernyataan bahwa PUT dan POST pasti salah. Tidak ada persyaratan bahwa PUT atau POST benar-benar memiliki konten tambahan. Juga tidak ada larangan terhadap GET yang benar-benar memiliki konten.

The RFC mengatakan apa yang mereka maksud .. IFF sisi Anda (klien ATAU server asal) akan mengirim konten tambahan, di luar header HTTP, SEHARUSNYA harus menentukan header Content-Type. Tetapi perhatikan itu diperbolehkan untuk menghilangkan Content-Type dan masih menyertakan konten (misalnya, dengan menggunakan header Content-Length).


14
2017-10-19 01:59