web-dev-qa-db-ja.com

Httpマルチパートリクエストとは何ですか?

私はしばらくの間iPhoneアプリケーションを書いていて、それについてあまり考えなくても、サーバーにデータを送信し、(HTTPプロトコル経由で)データを受信して​​います。私は理論的にはプロセスに精通していますが、精通していない部分はHTTPマルチパートリクエストです。私はその基本的な構造を知っていますが、その中核は私を避けています。

写真や音楽など、プレーンテキストとは異なるものを送信するときは、必ずマルチパートリクエストを使用する必要があります。なぜそれが使用されているのか、そしてその利点は何ですか?

私がそれを使用するならば、なぜそれがそのように写真を送るためのより良い方法ですか?

255
MegaManX

HTTPマルチパートリクエストは、HTTPクライアントがファイルやデータをHTTPサーバーに送信するために構築するHTTPリクエストです。ブラウザやHTTPクライアントがファイルをサーバーにアップロードするために一般的に使用されています。

242
Iggy

公式仕様書( https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html )に示されているように、 "1つ以上の 異なるデータセット はシングルボディ "#:。そのため、質問で述べたように写真や音楽がマルチパートメッセージとして扱われる場合は、おそらくプレーンテキストのメタデータも関連付けられているため、さまざまな種類のデータ(バイナリ、テキスト)を含むリクエストを作成します。

14
csonti