Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Http headers 什么是http多部分请求?_Http Headers_Multipart - Fatal编程技术网

Http headers 什么是http多部分请求?

Http headers 什么是http多部分请求?,http-headers,multipart,Http Headers,Multipart,我编写iPhone应用程序已经有一段时间了,向服务器发送数据,接收数据(通过HTTP协议),而没有考虑太多。理论上,我基本上熟悉这个过程,但我不太熟悉的部分是HTTP多部分请求。我知道它的基本结构,但它的核心我找不到 似乎每当我发送与纯文本不同的内容(如照片、音乐)时,我都必须使用多部分请求。有人能简单地向我解释一下为什么使用它,它的优点是什么 如果我使用它,为什么这样发送照片更好?HTTP多部分请求是HTTP客户端构造的HTTP请求,用于将文件和数据发送到HTTP服务器。浏览器和HTTP客户端

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

似乎每当我发送与纯文本不同的内容(如照片、音乐)时,我都必须使用多部分请求。有人能简单地向我解释一下为什么使用它,它的优点是什么


如果我使用它,为什么这样发送照片更好?

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


正如上面所说,“一组或多组不同的数据组合在一个整体中”。因此,当问题中提到的照片和音乐作为多部分消息处理时,可能也存在一些关联的纯文本元数据,从而使请求包含不同类型的数据(二进制、文本),这意味着使用多部分。

我找到了一个非常好且相对简短的解释

多部分请求是一个REST请求,在其实体中包含多个打包的REST请求


只是想添加多部分表单数据字段是按顺序发送的。这并不是很明显——我在这里添加了一个链接列表:如果我有时间使用PhantomJS/webkit组合一个测试用例,我也会在那里添加链接。浏览器遵守规范的这一部分,甚至可以追溯到IE6。困难的部分是理解为什么它被称为多部分请求,而不是更明显的东西,比如文件上传请求。OP需要一种哲学的方法和答案。这个答案并不能解释“为什么”部分。更多的是关于“什么”部分。我不太喜欢向下投票,但我认为这个答案不是OP想要的,我也在搜索。内容类型“application/x-www-form-urlencoded”对于发送大量二进制数据或包含非ASCII字符的文本来说效率很低。内容类型“多部分/表单数据”应用于提交包含文件、非ASCII数据和二进制数据的表单。原始来源-更多有关firebug截图的详细信息:请参阅以下链接了解信息:我认为情况并非如此。上载图像时,整个图像(包括元数据)将是请求正文中的一组数据。它仍然是一个多部分请求,即使身体中只有一个部分。您还可以创建一个一次上载多个文件的请求。@DarioSeidl标准假定您可能是从网络表单提交文件上载,除了文件上载本身之外,还可以包括其他数据字段。例如,除了原始文件名之外,用户还可能包含一个描述。Multipart还处理与特定原始“文件”概念断开连接的通用二进制blob。