这个和 Content-Type 有关,上面的是 Content-Type: multipart/form-data; boundary=something类型的,多个部分组成,每个部分有自己的Content-Type(MIME)类型,适合转输二进制文件和大数据,boundary是每次生成的分隔各部分标识,确保不会把数据搞乱,下面这种像是 Content-Type: application/x-www-form-urlencoded 类型,发送到服务器的HTTP消息的主体实质上是一个巨大的查询字符串,即键值对,多个键值对间用&分隔,键与值用等号(=)分隔。例如: MyVariableOne=ValueOne&MyVariableTwo=ValueTwo。 这种编码方式,非字母数字字符被替换为'%HH',一个百分号和两个十六进制数字,代表该字符的ASCII码。这意味着对于值中存在的每个非字母数字字节,将需要三个字节来表示它。对于大型二进制文件,将有效载荷增加三倍将是非常低效的。x-www-form-urlencoded也是可以上传文件的,但相对低效,且不会自动发送原始文件名。
这个和 Content-Type 有关,上面的是
Content-Type: multipart/form-data; boundary=something
类型的,多个部分组成,每个部分有自己的Content-Type(MIME)类型,适合转输二进制文件和大数据,boundary
是每次生成的分隔各部分标识,确保不会把数据搞乱,下面这种像是Content-Type: application/x-www-form-urlencoded
类型,发送到服务器的HTTP消息的主体实质上是一个巨大的查询字符串,即键值对,多个键值对间用&
分隔,键与值用等号(=
)分隔。例如:MyVariableOne=ValueOne&MyVariableTwo=ValueTwo
。这种编码方式,非字母数字字符被替换为'%HH',一个百分号和两个十六进制数字,代表该字符的ASCII码。这意味着对于值中存在的每个非字母数字字节,将需要三个字节来表示它。对于大型二进制文件,将有效载荷增加三倍将是非常低效的。
x-www-form-urlencoded
也是可以上传文件的,但相对低效,且不会自动发送原始文件名。