¿Qué significa el término "Carga útil" en la programación

101

Estaba revisando el código fuente de un marco de código abierto, donde vi una "carga útil" variable mencionada muchas veces. ¿Alguna idea de lo que significa "carga útil"?

Vishwas G
fuente

Respuestas:

193

El término "carga útil" se utiliza para distinguir entre la información "interesante" en una porción de datos o similar, y la sobrecarga para soportarla. Se toma prestado del transporte, donde se refiere a la parte de la carga que 'paga': por ejemplo, un camión cisterna puede transportar 20 toneladas de petróleo, pero el vehículo completamente cargado pesa mucho más que eso: ahí está el vehículo en sí, el conductor, combustible, el tanque, etc. Cuesta dinero mover todo esto, pero al cliente solo le importa (y paga) el aceite, por lo tanto, 'carga útil'.

En programación, el uso más común del término es en el contexto de los protocolos de mensajes, para diferenciar la sobrecarga del protocolo de los datos reales. Tome, por ejemplo, una respuesta del servicio web JSON que podría verse así (formateada para facilitar la lectura):

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

En este ejemplo, la cadena Hello, world!es la carga útil, la parte que le interesa al destinatario; el resto, aunque es información vital, es la sobrecarga del protocolo.

Otro uso notable del término es en malware. El software malicioso generalmente tiene dos objetivos: propagarse y realizar algún tipo de modificación en el sistema de destino (eliminar archivos, comprometer la seguridad del sistema, llamar a casa, etc.). La parte de propagación es la sobrecarga, mientras que el código que hace el mal real es la carga útil.

tdammers
fuente
20
¡Guauu! Muchas gracias por tan buena explicación. :)
Vishwas G
Buena explicación ... tks = D
rizidoro
2
Tu explicación da en el blanco.
pushya
Gran explicación: ¡aprendí algo nuevo hoy!
Roland Tepp
¿No es bueno declarar la variable nombrada como en string jsonPayLoad = " ";lugar de string json = " ";en la WebHookque recibe Jsondatos formateados?
stom
9

He encontrado dos significados Payloadhasta ahora:

1) Los datos esenciales que se transportan dentro de un paquete u otra unidad de transmisión. La carga útil no incluye los datos "generales" necesarios para llevar el paquete a su destino. Tenga en cuenta que lo que constituye la carga útil puede depender del punto de vista. Para una capa de comunicaciones que necesita parte de los datos generales para hacer su trabajo, a veces se considera que la carga incluye la parte de los datos generales que maneja esta capa. Sin embargo, en un uso más general, la carga útil son los bits que se entregan al usuario final en el destino.

2) El efecto eventual de un virus de software que se ha entregado a la computadora de un usuario.

EL Yusubov
fuente
Sry! .. pero, ¿qué quieres decir con datos "generales" exactamente? Y por cierto, principalmente veo que el uso de "carga útil" se realiza en el despacho de eventos y su flujo.
Vishwas G
44
El encuadre / gastos generales sería el material que se envuelve alrededor de la carga útil para llevarlo a donde necesita estar, etiquetado como lo que necesita ser identificado. Puede contrastarlo con una solicitud web, que da como resultado un montón de encabezados que identifican cosas sobre la página real, como la codificación, el tamaño, el formato, etc. La carga útil es la página real, que viene después de los encabezados que permite que el destinatario tenga sentido.
Lars Viklund