Que signifie le terme «charge utile» dans la programmation

101

Je parcourais le code source d'un framework open source, où j'ai vu une "charge utile" de variable mentionnée à plusieurs reprises. Des idées que "charge utile" représente?

Vishwas G
la source

Réponses:

194

Le terme "charge utile" est utilisé pour distinguer les informations "intéressantes" contenues dans un bloc de données ou similaire, et la surcharge pour les prendre en charge. Il est emprunté au transport, où il fait référence à la partie du chargement qui «paie»: par exemple, un camion-citerne peut transporter 20 tonnes de pétrole, mais le véhicule en pleine charge pèse beaucoup plus que cela - il y a le véhicule lui-même, le le chauffeur, le carburant, le réservoir, etc. Le déplacement de tout cela coûte de l'argent, mais le client ne se soucie que de (et paye) le pétrole, d'où la "charge utile".

En programmation, l'utilisation la plus courante du terme est dans le contexte des protocoles de message, afin de différencier la surcharge de protocole des données réelles. Prenons, par exemple, une réponse de service Web JSON qui pourrait ressembler à ceci (formaté pour la lisibilité):

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

Dans cet exemple, la chaîne Hello, world!est la charge utile, la partie qui intéresse le destinataire; le reste, alors que des informations vitales, est une surcharge de protocole.

Une autre utilisation notable du terme concerne les logiciels malveillants. Les logiciels malveillants ont généralement deux objectifs: se répandre et modifier quelque peu le système cible (supprimer des fichiers, compromettre la sécurité du système, appeler la maison, etc.). La partie de propagation est la surcharge, tandis que le code qui fait le mal-être est la charge utile.

tdammers
la source
20
Hou la la! Merci beaucoup pour une si bonne explication. :)
Vishwas G
Belle explication ... tks = D
rizidoro
2
Votre explication frappe bullseye.
pushya
Grande explication - appris quelque chose de nouveau aujourd'hui!
Roland Tepp
N'est-il pas bon de déclarer la variable nommée comme string jsonPayLoad = " ";au lieu de string json = " ";dans WebHooklaquelle reçoit les Jsondonnées formatées?
stom
9

J'ai rencontré deux significations de Payloadjusqu'ici:

1) Les données essentielles transportées dans un paquet ou une autre unité de transmission. La charge utile n'inclut pas les données "supplémentaires" requises pour que le paquet parvienne à sa destination. Notez que ce qui constitue la charge utile peut dépendre du point de vue. Pour une couche de communication qui a besoin de certaines des données supplémentaires pour effectuer son travail, il est parfois considéré que les données utiles incluent la partie des données supplémentaires que cette couche traite. Toutefois, dans le cadre d’une utilisation plus générale, la charge utile correspond aux bits qui sont remis à l’utilisateur final de la destination.

2) L'effet éventuel d'un virus logiciel transmis à l'ordinateur d'un utilisateur.

EL Yusubov
la source
Sry! .. mais qu'entendez-vous par "données indirectes" exactement? Et d'ailleurs, je vois surtout que l'utilisation de "charge utile" est en cours dans la distribution d'événements et son flux.
Vishwas G
4
Le cadrage / les frais généraux sont les éléments encapsulés dans la charge utile pour les obtenir là où ils doivent être, étiquetés de la manière dont ils doivent être identifiés. Vous pouvez le comparer à une demande Web, ce qui donne plusieurs en-têtes qui identifient des éléments de la page, tels que l'encodage, la taille, le format, etc. La charge utile est la page réelle, qui vient après les en-têtes, qui permet au destinataire de la comprendre.
Lars Viklund le