Cosa significa il termine "Payload" nella programmazione


101

Stavo esaminando il codice sorgente di un framework open source, dove ho visto un "payload" variabile menzionato molte volte. Qualche idea su cosa significhi "payload"?

Risposte:


194

Il termine "payload" viene utilizzato per distinguere tra le informazioni "interessanti" in un blocco di dati o simili e l'overhead per supportarle. Viene preso in prestito dal trasporto, dove si riferisce alla parte del carico che "paga": ad esempio, un'autocisterna può trasportare 20 tonnellate di petrolio, ma il veicolo a pieno carico pesa molto di più: c'è il veicolo stesso, il conducente, carburante, serbatoio, ecc. Costa spostare denaro tutto questo, ma al cliente importa solo (e paga) l'olio, quindi il "carico utile".

Nella programmazione, l'uso più comune del termine è nel contesto dei protocolli di messaggio, per differenziare l'overhead del protocollo dai dati effettivi. Prendi, ad esempio, una risposta del servizio Web JSON che potrebbe apparire così (formattata per la leggibilità):

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

In questo esempio, la stringa Hello, world!è il payload, la parte a cui è interessato il destinatario; il resto, sebbene informazioni vitali, è un overhead di protocollo.

Un altro uso notevole del termine è nel malware. Il software dannoso di solito ha due obiettivi: diffondersi ed eseguire qualche tipo di modifica sul sistema di destinazione (eliminare file, compromettere la sicurezza del sistema, chiamare casa, ecc.). La parte che si sta diffondendo è l'overhead, mentre il codice che fa il malefico è il payload.


20
Wow! Grazie mille per un'ottima spiegazione. :)
Vishwas G

Bella spiegazione ... tks = D
rizidoro,

2
La tua spiegazione colpisce bullseye.
pushya,

Grande spiegazione - ho imparato qualcosa di nuovo oggi!
Roland Tepp,

Non è utile dichiarare la variabile denominata come string jsonPayLoad = " ";anziché string json = " ";in WebHookcui riceve i Jsondati formattati?
stom

9

PayloadFinora ho incontrato due significati :

1) I dati essenziali che vengono trasportati all'interno di un pacchetto o altra unità di trasmissione. Il payload non include i dati "generali" richiesti per portare il pacchetto a destinazione. Si noti che ciò che costituisce il payload può dipendere dal punto di vista. A un livello di comunicazione che necessita di alcuni dei dati generali per svolgere il proprio lavoro, a volte si considera che il payload includa la parte dei dati generali che questo livello gestisce. Tuttavia, in un utilizzo più generale, il payload sono i bit che vengono consegnati all'utente finale a destinazione.

2) L'eventuale effetto di un virus software che è stato consegnato al computer di un utente.


Sry! .. ma cosa intendi esattamente per dati "generali"? E a proposito, sto vedendo principalmente l'uso di "payload" è stato fatto nel dispacciamento di eventi e il suo flusso.
Vishwas G,

4
L'inquadramento / sovraccarico sarebbe la roba che avvolge il payload per portarlo dove deve essere, etichettato come ciò che deve essere identificato come. Puoi contrastarlo con una richiesta web, che si traduce in un sacco di intestazioni che identificano cose sulla pagina reale come la codifica, le dimensioni, il formato e così via. Il payload è la pagina effettiva, che viene dopo le intestazioni che consente al destinatario di dargli un senso.
Lars Viklund,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.