O que o termo "Carga útil" significa na programação

101

Eu estava analisando o código fonte de uma estrutura de código aberto, onde vi uma "carga útil" mencionada várias vezes. Alguma idéia do que "carga útil" representa?

Vishwas G
fonte

Respostas:

193

O termo 'carga útil' é usado para distinguir entre as informações 'interessantes' em um pedaço de dados ou similar e a sobrecarga para suportá-las. É emprestado do transporte, onde se refere à parte da carga que 'paga': por exemplo, um caminhão-tanque pode transportar 20 toneladas de óleo, mas o veículo totalmente carregado pesa muito mais do que isso - o veículo em si, o motorista, combustível, tanque, etc. Custa dinheiro para movimentar tudo isso, mas o cliente só se preocupa (e paga) pelo petróleo, portanto, 'carga útil'.

Na programação, o uso mais comum do termo é no contexto de protocolos de mensagens, para diferenciar a sobrecarga do protocolo dos dados reais. Tomemos, por exemplo, uma resposta de serviço da Web JSON que pode ser assim (formatada para facilitar a leitura):

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

Neste exemplo, a sequência Hello, world!é a carga útil, a parte em que o destinatário está interessado; o restante, enquanto informação vital, é uma sobrecarga de protocolo.

Outro uso notável do termo está no malware. O software malicioso geralmente tem dois objetivos: se espalhar e realizar algum tipo de modificação no sistema de destino (excluir arquivos, comprometer a segurança do sistema, ligar para casa, etc.). A parte que se espalha é a sobrecarga, enquanto o código que faz o mal real é a carga útil.

tdammers
fonte
20
Uau! Muito obrigado por uma ótima explicação. :)
Vishwas G
Boa explicação ... tks = D
rizidoro
2
Sua explicação atinge o alvo.
Pushya
Ótima explicação- aprendi algo novo hoje!
Roland Tepp
Não é bom declarar a variável nomeada como em string jsonPayLoad = " ";vez de string json = " ";na WebHookqual recebe Jsondados formatados?
stom 23/02
9

Eu conheci dois significados de Payloadaté agora:

1) Os dados essenciais que estão sendo transportados dentro de um pacote ou outra unidade de transmissão. A carga útil não inclui os dados "gerais" necessários para levar o pacote ao seu destino. Observe que o que constitui a carga útil pode depender do ponto de vista. Para uma camada de comunicação que precisa de alguns dados indiretos para realizar seu trabalho, a carga útil às vezes é considerada como incluindo a parte dos dados indiretos que essa camada manipula. No entanto, em uso mais geral, a carga útil são os bits que são entregues ao usuário final no destino.

2) O efeito eventual de um vírus de software que foi entregue ao computador do usuário.

EL Yusubov
fonte
Sry! .. mas o que você quer dizer com "sobrecarga" de dados exatamente? E, aliás, estou vendo principalmente o uso de "carga útil" no envio de eventos e no fluxo.
Vishwas G
4
O enquadramento / sobrecarga seria o material que envolve a carga útil para chegar onde precisa, rotulado como o que precisa ser identificado. Você pode contrastá-lo com uma solicitação da Web, que resulta em vários cabeçalhos que identificam coisas sobre a página real, como codificação, tamanho, formato e assim por diante. A carga útil é a página real, que vem após os cabeçalhos que permitem que o destinatário faça sentido.
Lars Viklund