代码里的 payload 究竟是什么东西。

代码里的 payload 究竟是什么东西。

随便在 Github 搜 payload,就能获得成千上万的代码(https://github.com/search?p=1&q=payload&type=Code&utf8=✓),其中以C和C++语言居多。

根据词典里的解释,payload指的是

1.有效载重 
2. 负载 
3. 人事费 
4. 弹头内的炸药 
5. 火箭所载弹头

What?? 完全不能代入到代码里去理解啊,这些参数难道是计算弹头内的炸药含量的么?在一番Google之后,终于在 stackexchange 找到了一份还算靠谱的答案

首先解释一下什么是 payload,payload 在这里却是可以理解为有效载重,但是这只是字面意思。对于程序员来说,有效载重究竟是个什么玩意儿,又是一个新的问题(调用栈又多了一层……)。

要解释什么是有效载重,就得说到货运行业。比如有一位客户需要支付一笔费用委托货车司机运送一车石油,石油本身的重量、车子的重量、司机的重量等等,这些都属于载重(load)。但是对于该客户来说,他关心的只有石油的重量,所以石油的重量是有效载重(pay-load,也就是付费的重量)

所以抽象一下,payload 可以理解为一系列信息中最为关键的信息。

回到代码中,举一个最简单的例子,一个 ajax 请求返回一个 JSON 格式的对象


 
 
  1. {
  2. status: 200,
  3. hasError: false,
  4. data: {
  5. userId: 1,
  6. name: 'undefined'
  7. }
  8. }

这里的 data 就是 payload,也就是关键信息。而 statushasError等信息是load,虽然也是信息,但相对没有那么重要。

说到这里感觉loadpayload的关系有点像信息元信息的关系,感兴趣的同学可以看看知乎上一篇讲meta文章,很有启发性.

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值