编程中的“有效负载”是什么意思


101

我正在研究开放源代码框架的源代码,在该代码中我看到了多次提到的变量“有效负载”。有什么想法代表“有效载荷”吗?

Answers:


193

术语“有效负载”用于区分大块数据或类似数据中的“有趣”信息以及支持该信息的开销。它是从运输中借来的,指的是“负担”的部分负载:例如,一辆油轮可能载有20吨油,但是满载的车辆的重量远不止这些-车辆本身就是司机,燃料,油箱等。运输所有这些都花钱,但是客户只关心(并支付)机油,因此是“有效载荷”。

在编程中,该术语最常见的用法是在消息协议的上下文中,以区分协议开销与实际数据。例如,一个JSON Web服务响应可能看起来像这样(为便于阅读而格式化):

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

在此示例中,字符串Hello, world!是有效负载,即接收者感兴趣的部分;剩下的,尽管至关重要的信息,是协议开销。

该术语的另一个显着用法是在恶意软件中。恶意软件通常有两个目标:传播自身,以及在目标系统上执行某种修改(删除文件,损害系统安全性,调用宿主等)。扩展部分是开销,而执行实际操作的代码是有效负载。


20
哇!非常感谢您的出色解释。:)
Vishwas G

很好的解释... tks = D
rizidoro

2
你的解释很靶心。
pushya 2015年

很棒的解释-今天学到了一些新东西!
罗兰·德普

声明变量名为as string jsonPayLoad = " ";而不是string json = " ";WebHook其中接收Json格式化数据是不是很好?
stom

9

Payload到目前为止,我已经遇到了两种含义:

1)在数据包或其他传输单元中承载的基本数据。有效负载不包括将数据包到达其目的地所需的“开销”数据。注意,构成有效载荷的因素可能取决于视点。对于需要一些开销数据来完成其工作的通信层,有效负载有时被认为包括该层处理的一部分开销数据。但是,在更一般的用法中,有效负载是在目的地传递给最终用户的比特。

2)已传送到用户计算机的软件病毒的最终后果。


Sry!..但是,您所说的“开销”数据到底是什么意思?顺便说一句,我主要看到的是在事件分派中正在使用“有效负载”,它的流程也很流畅。
Vishwas G

4
框架/开销将是包裹在有效负载周围的东西,以使其到达需要的位置,并标记为需要标识的内容。您可以将其与Web请求进行对比,这会产生一堆标题,这些标题标识有关实际页面的内容,例如编码,大小,格式等。有效负载是实际页面,位于标题之后,使接收者可以理解它。
拉尔斯·维克伦德
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.