multipart/form-data中的' - '是什么?

Que*_*ons 15 multipartform-data

我想问一个关于multipart/form数据的问题.我找到了multipart post的http头和Content-Type:multipart/form-data; 边界= -----...--- boundaryNumber.我想问一下,boundaryNumber和'='之间有多少' - '?

Tim*_*mwi 33

没有一个-是强制性的.你可以拥有任意数量的.对我来说,为什么用户代理往往会增加这么多,这实际上是个谜.它可能是传统的,因为在过去,人们仍然经常查看实际的协议流量,它提供了一些很好的视觉分离.如今它毫无意义.

但请注意,当您在流中使用边界时,它必须以两个连字符(--)为前缀.这是协议的一部分.当然,大多数用户代理在其边界中使用大量连字符的事实使得这很难通过示例来看.

此外,最后一个边界(标记消息的结尾)以前缀为前缀,后缀为两个连字符(--).

总而言之,您可以调用边界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--
Run Code Online (Sandbox Code Playgroud)

  • 它不适合那些关注协议流量的人.Multipart也用于电子邮件,前MIME电子邮件阅读器将向用户显示所有内容,包括多部分边界.在这种情况下,分隔部分的长连字符将使事情更具可读性. (2认同)
  • *"连字符是为了与早期的RFC 934消息封装方法的粗略兼容,以及为了便于在某些实现中搜索边界."*([来源](http://www.w3.org/Protocols/rfc1341 /7_2_Multipart.html)) (2认同)