什么是http multipart请求?

我已经写了一段时间的iPhone应用程序,发送数据到服务器,接收数据(通过HTTP协议),没有考虑太多。 大多数情况下,我在理论上熟悉过程,但是我不那么熟悉的部分是HTTP多部分请求。 我知道它的基本结构,但是它的核心却不见了。

似乎每当我发送一些不同于纯文本(如照片,音乐)的东西,我不得不使用多部分请求。 有人可以简单地向我解释为什么它被使用,它的优点是什么?

如果我使用它,为什么更好的方式发送照片?

HTTP多部分请求是HTTP客户端构造的用于将文件和数据发送到HTTP服务器的HTTP请求。 浏览器和HTTP客户端通常使用它来上传文件到服务器。

  • 它看起来像什么
  • 请参阅多部分内容types
  • 请参阅multipart / form-data

正式规范( https://www.w3.org/Protocols/rfc1341/7_2_Multipart.html )说,“ 一个或多个不同的数据集合在一个单一的机构 ”。 所以当照片和音乐被处理成问题中提到的多部分信息时,可能还会有一些纯文本元数据相关联,从而使请求包含不同types的数据(二进制,文本),这意味着使用多部分。