web-dev-qa-db-ja.com

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

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

111
Vishwas G

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

プログラミングでは、用語の最も一般的な用法はメッセージプロトコルのコンテキストで、プロトコルのオーバーヘッドを実際のデータと区別することです。たとえば、次のようなJSON Webサービスの応答を示します(読みやすいようにフォーマットされています)。

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

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

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

206
tdammers

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

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

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

10
Yusubov