Apa arti istilah "Muatan" dalam pemrograman

101

Saya akan melalui kode sumber kerangka kerja open source, di mana saya melihat variabel "payload" disebutkan berkali-kali. Adakah gagasan yang dimaksud dengan "payload"?

Wisnu G
sumber

Jawaban:

194

Istilah 'payload' digunakan untuk membedakan antara informasi 'menarik' dalam sepotong data atau serupa, dan overhead untuk mendukungnya. Ini dipinjam dari transportasi, di mana mengacu pada bagian dari beban yang 'membayar': misalnya, sebuah truk tangki dapat membawa 20 ton minyak, tetapi kendaraan yang terisi penuh beratnya lebih dari itu - ada kendaraan itu sendiri, yang pengemudi, bahan bakar, tangki, dll. Dibutuhkan uang untuk memindahkan semua ini, tetapi pelanggan hanya peduli (dan membayar) minyak, karenanya, 'bayar-beban'.

Dalam pemrograman, penggunaan istilah yang paling umum adalah dalam konteks protokol pesan, untuk membedakan overhead protokol dari data aktual. Ambil, misalnya, respons layanan web JSON yang mungkin terlihat seperti ini (diformat agar mudah dibaca):

{
    "status":"OK",
    "data":
        {
            "message":"Hello, world!"
        }
}

Dalam contoh ini, string Hello, world!adalah payload, bagian yang diinginkan penerima; sisanya, sementara informasi vital, adalah overhead protokol.

Penggunaan istilah lainnya yang terkenal adalah malware. Perangkat lunak berbahaya biasanya memiliki dua tujuan: menyebar sendiri, dan melakukan beberapa jenis modifikasi pada sistem target (menghapus file, membahayakan keamanan sistem, menelepon ke rumah, dll.). Bagian yang menyebar adalah overhead, sedangkan kode yang melakukan kejahatan sebenarnya adalah payload.

tammmer
sumber
20
Wow! Terima kasih banyak atas penjelasan yang luar biasa. :)
Vishwas G
Penjelasan yang bagus ... tks = D
rizidoro
2
Penjelasan Anda mengenai bullseye.
pushya
Penjelasan hebat - mempelajari sesuatu yang baru hari ini!
Roland Tepp
Bukankah baik untuk mendeklarasikan variabel bernama sebagai string jsonPayLoad = " ";bukan string json = " ";di WebHookmana yang diterima Jsondata yang diformat?
stom
9

PayloadSejauh ini saya telah menemukan dua makna :

1) Data penting yang dibawa dalam paket atau unit transmisi lainnya. Muatan tidak termasuk data "overhead" yang diperlukan untuk mendapatkan paket ke tujuannya. Perhatikan bahwa apa yang merupakan muatan mungkin tergantung pada sudut pandang. Untuk lapisan komunikasi yang memerlukan beberapa data overhead untuk melakukan tugasnya, payload kadang-kadang dianggap termasuk bagian dari data overhead yang ditangani oleh lapisan ini. Namun, dalam penggunaan yang lebih umum, payload adalah bit yang dikirimkan ke pengguna akhir di tujuan.

2) Efek akhirnya dari virus perangkat lunak yang telah dikirim ke komputer pengguna.

EL Yusubov
sumber
Sry! .. tapi apa yang kamu maksud dengan data "overhead" sebenarnya? Dan btw, saya sebagian besar melihat penggunaan "payload" sedang dilakukan dalam pengiriman acara dan itu mengalir.
Vishwas G
4
Membingkai / overhead akan menjadi hal-hal yang melilit muatan untuk mendapatkannya di mana ia perlu, diberi label sebagai apa yang perlu diidentifikasi sebagai. Anda dapat membandingkannya dengan permintaan web, yang menghasilkan banyak tajuk yang mengidentifikasi hal-hal tentang halaman aktual seperti penyandian, ukuran, format, dan sebagainya. Payload adalah halaman aktual, yang muncul setelah tajuk yang memungkinkan penerima untuk memahaminya.
Lars Viklund