Html 什么是';第'部分;在多部分请求中?
我喜欢本主题中的问答对: 我觉得缺少的是浏览器/服务器如何看待普通表单post和Html 什么是';第'部分;在多部分请求中?,html,forms,multipartform-data,Html,Forms,Multipartform Data,我喜欢本主题中的问答对: 我觉得缺少的是浏览器/服务器如何看待普通表单post和multipartpost之间的区别。因为作为一个用户,我看不到浏览器对表单提交的反应有什么不同,作为一个想要的web开发人员,我收到的帖子是作为一个整体(例如,一个文件),而不是“部分” 一个好的答案可以解释多部分中的具体部分是什么?正如您在参考问题中提到的,有两种方式可以发送表单的帖子:应用程序/x-www-form-urlcoded或多部分/表单数据 它们都将在post请求的正文中发送。与使用get时不同,它
multipart
post之间的区别。因为作为一个用户,我看不到浏览器对表单提交的反应有什么不同,作为一个想要的web开发人员,我收到的帖子是作为一个整体(例如,一个文件),而不是“部分”
一个好的答案可以解释多部分中的具体部分是什么?正如您在参考问题中提到的,有两种方式可以发送表单的
帖子:应用程序/x-www-form-urlcoded
或多部分/表单数据
它们都将在post
请求的正文中发送。与使用get
时不同,它是通过url本身传递的
以下是两者的一个示例:
您可以说,part
是get
请求的URL编码形式中参数名称的另一种表示形式
urlencoded:realname=
部分:内容配置:表单数据;name=“realname”
不同部分由标题中定义的边界分隔:
内容类型:多部分/表单数据;边界=------------------------------------7cd1d6371ec
编辑
床边编码的区别最重要的是,对于多部分/表单数据
,客户机可以向键/值对添加附加信息,如值的类型(例如内容类型:image/jpeg
)或文件名。有了这些信息,服务器就可以对不同类型的值执行某些操作
当您使用application/x-www-form-urlencoded
时,无法以标准化的方式存储密钥/值对的其他信息
这就是为什么要使用post
请求提交文件时必须使用multipart/form data
的原因。这不是因为无法以url格式将文件作为base64编码的值传递,而是因为url编码没有标准的方式告诉服务器它是文件而不是字符串。所以浏览器以相同的方式发送这两种表单编码?没有发生文件拆分吗?我一直认为这一部分意味着文件被分割并分别发送。两个文件都是在一个请求中发送的。请求可能还可以分块编码。但这仍然是一个要求。但不会发生文件拆分,服务器会将文件分为一部分提供给您。