プログラミングにおける「ペイロード」という用語の意味


101

オープンソースフレームワークのソースコードを調べていたところ、変数「ペイロード」が何度も言及されていました。「ペイロード」が表すアイデアはありますか?

回答:


193

「ペイロード」という用語は、データのチャンクなどに含まれる「興味深い」情報と、それをサポートするためのオーバーヘッドを区別するために使用されます。それは輸送から借用され、「支払う」荷物の一部を指します:例えば、タンカーは20トンのオイルを運ぶことができますが、完全に積載された車両はそれよりもはるかに重く、車両自体があります。これらすべてを動かすにはお金がかかりますが、顧客はオイルのことだけを気にかけ(そして支払います)、それゆえ、「ペイロード」です。

プログラミングにおいて、この用語の最も一般的な使用法は、プロトコルオーバーヘッドを実際のデータと区別するためのメッセージプロトコルのコンテキストです。たとえば、次のようなJSON Webサービスレスポンスを考えます(読みやすい形式になっています)。

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

この例では、文字列がHello, world!ペイロード、受信者が関心を持っている部分です。残りは重要な情報ですが、プロトコルのオーバーヘッドです。

この用語のもう1つの注目すべき使用法はマルウェアです。悪意のあるソフトウェアには通常、2つの目的があります。それ自体を拡散すること、およびターゲットシステムで何らかの変更を行うこと(ファイルの削除、システムセキュリティの侵害、コールホームなど)。拡散部分はオーバーヘッドですが、実際の悪事を行うコードはペイロードです。


20
うわー!このような素晴らしい説明をありがとう。:)
ヴィシュワスG

わかりやすい説明... tks = D
rizidoro 14年

2
あなたの説明はブルズアイに当たります。
プシャ

素晴らしい説明-今日新しいことを学びました!
ローランドテップ

それは同様という名前の変数を宣言するのはよくないですstring jsonPayLoad = " ";の代わりstring json = " ";WebHook受信するJson形式のデータを?
トム

9

私はPayloadこれまでに2つの意味に出会いました:

1)パケットまたは他の送信ユニット内で運ばれている重要なデータ。ペイロードには、パケットを宛先に到達させるために必要な「オーバーヘッド」データは含まれません。ペイロードを構成するものは視点に依存することに注意してください。ジョブを実行するためにオーバーヘッドデータの一部を必要とする通信層にとって、ペイロードは、この層が処理するオーバーヘッドデータの一部を含むと見なされる場合があります。ただし、より一般的な使用法では、ペイロードは宛先のエンドユーザーに配信されるビットです。

2)ユーザーのコンピューターに配信されたソフトウェアウイルスの最終的な影響。


Sry!..しかし、「オーバーヘッド」データとはどういう意味ですか?ところで、イベントディスパッチで「ペイロード」の使用が行われているのをほとんど見ていますが、それはフローです。
ヴィシュワスG

4
フレーミング/オーバーヘッドは、必要な場所にペイロードを取得するためにペイロードに巻き付けられ、識別される必要があるものとしてラベル付けされます。これをWebリクエストと比較することができます。これにより、エンコード、サイズ、形式など、実際のページに関する情報を識別する一連のヘッダーが生成されます。ペイロードは実際のページであり、受信者が理解できるようにするヘッダーの後にあります。
ラースヴィクランド
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.