Bisakah seseorang menjelaskan kepada saya apa sebenarnya entitas HTTP itu?
Saya membaca dokumentasi HTTPClient, tetapi saya tidak begitu mengerti apa artinya?
http
httpclient
Halo yang disana
sumber
sumber
Jawaban:
Sebuah entitas HTTP adalah sebagian dari permintaan HTTP atau respon, yang terdiri dari beberapa header dan tubuh, jika ada. Tampaknya seluruh permintaan atau respons tanpa baris permintaan atau status (meskipun hanya bidang header tertentu yang dianggap sebagai bagian dari entitas ).
Menggambarkan; inilah permintaannya:
Dan tanggapannya:
sumber
&
bukan&
. Bukankah itu entitas juga? Apa bedanya?&
adalah referensi entitas karakter HTML , tidak sama dengan Entitas HTTP .Berikut 3 kasus sederhana:
Kasus 1. Anda mengupload 3 file dalam satu permintaan. Ketiga file tersebut adalah 3 entitas. Masing-masing memiliki
Content-Type
file sendiri untuk menunjukkan jenis file itu.Kasus 2. Anda sedang melihat halaman web. Browser telah mengunduh file html sebagai entitas di latar belakang. Karena halaman dapat diperbarui terus menerus, Anda mungkin akan mendapatkan entitas yang sama sekali berbeda nanti.
Kasus 3. Anda punya
304 Not Modified
. Tidak ada entitas yang ditransfer.Singkatnya, Entitas adalah muatan opsional di dalam pesan http (baik permintaan maupun respons), jadi ini adalah hubungan " sebagian-keseluruhan " antara Entitas dan Pesan.
Beberapa bidang tajuk berlaku untuk
Message
sukaTransfer-Encoding
menjelaskan cara mentransfer pesan antara perantara, dan dengan demikian MUNGKIN ditambahkan atau dihapus oleh aplikasi apapun sepanjang rantai permintaan / tanggapan (hop-by-hop headers
). Sebagai perbandingan, bidang tajuk tersebut berlaku untukEntity
beberapa properti, yang menggambarkan ukuran entitas, jenis, algoritma kompresi, dll ...Bacaan lebih lanjut, mengutip dari RFC 2616 bagian 1.4, 4.5 dan 4.3:
message-body = Transfer-Encoding( Content-Encoding(entity-body) )
where
Transfer-Encoding
may be "chunked" yang berarti cara mentransfer pesan, danContent-Encoding
mungkin "gzip" yang berarti cara mengompresi entitas.sumber
Ini adalah abstraksi yang mewakili payload permintaan atau respons . The javadoc jelas pada tujuan dan berbagai jenis entitas.
sumber
Saya kira HTTPClient
Entity
dinamai menurut HTTP Entity .sumber
HTTP adalah Protokol yang diamati saat mengakses informasi dari mesin jarak jauh melalui jaringan. Biasanya jaringannya adalah internet dan mesin jarak jauh adalah server.
Ketika Anda meminta informasi dari orang A ke orang B, Anda memberinya pesan. (Permintaan). Orang B membalas Anda (Tanggapan). Permintaan dan Tanggapan adalah Jenis Pesan HTTP.
Orang A dapat meminta Orang B untuk melakukan sesuatu, daripada meminta informasi. Katakanlah, Orang A ingin Orang B menyimpan file di lokasi yang aman. Jadi, Orang A meneruskan file itu (Entitas HTTP) ke Orang B dan memintanya untuk melakukan sesuatu (Pesan HTTP). Dalam hal ini, Orang sedang melewati sebuah "Entity". Dalam konteks Entitas HTTP, ini adalah payload yang dilampirkan dengan pesan.
Semoga analogi ini membantu.
sumber
Seperti yang dikatakan dalam komentar oleh @ hawkeye-parker, sepertinya Entitas sudah tidak digunakan lagi. Lakukan pencarian di rfc 2014 ini , dan Anda akan melihat tentang entitas XML dan badan pesan, tetapi tidak ada tentang entitas Http.
Namun demikian, HttpClient, tetapi juga klien JaxRS, memiliki metode
setEntity()
dangetEntity()
.Mempertimbangkan jawaban yang diterima, kedua perpustakaan salah!
HttpClient.setEntity()
tidak akan menghapus header yang ditetapkan sebelumnya.sumber
HttpEntity
adalah apa yang akan Anda sampaikan di Request (dengan header) dan apa yang Anda dapatkan di Response. Untuk Dapatkan Permintaan kita melewati String sederhanaUntuk Posting Kami akan lulus Kelas Entitas lengkap
sumber
Entitas itu seperti pesan, terdiri dari header, dimana metadata seperti lokasi, lang, encoding ...
Dan secara opsional dari tubuh - isinya diformat dll seperti yang ditentukan dalam tajuk
sumber
Di antara jawaban bagus yang kami miliki di sini, saya yakin pantas untuk menyebutkan sesuatu yang berasal langsung dari RFC 2616 (Hypertext Transfer Protocol - HTTP / 1.1) :
Singkatnya: Entitas dapat ditransfer, dan dapat berupa header + body , atau hanya header .
Karena ada tautan di atas, saya menahan diri untuk membuat komentar tambahan.
sumber