Stavo passando attraverso il codice sorgente di un framework open source, in cui ho visto una variabile "payload" menzionata molte volte. Qualche idea su cosa significa "payload"?
Il termine "payload" viene utilizzato per distinguere tra le informazioni "interessanti" in un blocco di dati o simili e il sovraccarico per supportarle. Viene preso in prestito dal trasporto, dove si riferisce alla parte del carico che "paga": ad esempio, una petroliera può trasportare 20 tonnellate di petrolio, ma il veicolo a pieno carico pesa molto di più - c'è il veicolo stesso, il autista, carburante, serbatoio, ecc. Costa denaro spendere tutto questo, ma il cliente si preoccupa solo (e paga) del petrolio, quindi, "carico utile".
Nella programmazione, l'uso più comune del termine è nel contesto dei protocolli dei messaggi, per differenziare il sovraccarico del protocollo dai dati effettivi. Prendiamo, per esempio, una risposta al servizio web JSON che potrebbe apparire come questa (formattata per la leggibilità):
{
"status":"OK",
"data":
{
"message":"Hello, world!"
}
}
In questo esempio, la stringa Hello, world!
è il payload, la parte a cui il destinatario è interessato; il resto, mentre le informazioni vitali, è il sovraccarico del protocollo.
Un altro uso notevole del termine è nel malware. Il software dannoso di solito ha due obiettivi: diffondersi ed eseguire una sorta di modifica sul sistema di destinazione (eliminare file, compromettere la sicurezza del sistema, chiamare casa, ecc.). La parte di diffusione è il sovraccarico, mentre il codice che fa il male effettivo è il payload.
Ho incontrato finora due significati di Payload
:
1) I dati essenziali che vengono trasportati all'interno di un pacchetto o altra unità di trasmissione. Il payload non include i dati "overhead" necessari per portare il pacchetto alla sua destinazione. Si noti che ciò che costituisce il carico utile può dipendere dal punto di vista. A un livello di comunicazione che ha bisogno di alcuni dei dati di sovraccarico per eseguire il proprio lavoro, a volte si considera che il payload includa la parte dei dati di overhead trattati da questo livello. Tuttavia, in un uso più generale, il payload è il bit che viene consegnato all'utente finale nella destinazione.
2) L'eventuale effetto di un virus software che è stato consegnato al computer di un utente.
Leggi altre domande sui tag variables terminology