MultiPart/Form-Dataの「 - 」とは何ですか?
-
29-09-2019 - |
質問
MultiPart/Formデータについて質問したいと思います。 MultiPart PostのHTTPヘッダーとコンテンツタイプ:MultiPart/Form-Dataがあります。境界= -----...--- BoundaryNumber。 boundarynumberと '='の間に「 - '」の数を尋ねたいですか?
解決
単一ではありません -
必須です。あなたはそれらの任意の数を持つことができます。ユーザーエージェントが非常に多くを追加する傾向があるのは、実際に私にとって謎です。おそらく伝統的なことです。なぜなら、人々がまだ実際のプロトコルトラフィックを定期的に見ていた昔は、素晴らしい視覚的な分離を提供したからです。最近では無意味です。
ただし、そのときに注意してください 使用する ストリーム内の境界、2つのハイフンが付いている必要があります(--
)。それがプロトコルの一部です。もちろん、ほとんどのユーザーエージェントが境界で多くのハイフンを使用しているという事実は、例でこれを非常に難しくしています。
さらに、 過去 境界(メッセージの終わりをマークする)はプレフィックスされています と 2つのハイフンで接尾辞(--
).
要約すると、境界を呼び出すことができます OMGWTFPLZDIEKTHX
, 、そしてあなたのトラフィックは次のようになる可能性があります:
Content-Type: multipart/form-data; boundary=OMGWTFPLZDIEKTHX
--OMGWTFPLZDIEKTHX
Content-Type: text/plain
First part (plain text).
--OMGWTFPLZDIEKTHX
Content-Type: text/html
<html>Second part (HTML).</html>
--OMGWTFPLZDIEKTHX--
他のヒント
ダッシュの数は、そこに必要な数に依存します。必要に応じてゼロになる可能性があります。ダッシュが多いだけで境界がより明白になるということです。
境界は、「境界=」の後の2つのダッシュとすべてを含む線で構成されています。あなたのヘッダーが言ったら boundary=ABC
, 、境界は次のように見えます
--ABC
境界の定義では、ハイフンは必要ありません。その境界を使用して2つの異なる身体部分を分離する場合、2つのハイフンから始めて、以前に定義された境界文字列が続く必要があります。
これはで説明されています RFC 1341(mime), 、そして、マルチパートセクション(リンク)で追加情報を見つけることができます。
それは完全にarbitrary意的です。
境界のポイントは、データの開始と終了を定義することです。コンテンツの一部ではない限り、それが何であるかは関係ありません。