postman中 form-data、x-www-form-urlencoded、raw、binary的区别

(一)form-data:

* 对应于http请求中的multipart/form-data

- 它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。

- 既可以上传键值对,也可以上传文件。

- Content-disposition,用来说明字段的一些信息。

- 当上传的 key 是文件时: Content-Type 来表名文件类型。

从下图可以看到

- boundary:将所有请求参数进行包裹

- Content-Disposition:表明请求字段信息。

- Content-Type:请求头信息中:表明请求数据的类型为-- multipart/for-data;文件类型的key中:表明文件类型为-- image/jpeg、audio/mp3。

(二)x-www-form-urlencoded:

- 就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,&分隔。

- 当form的action为get时,浏览器用x-www-form-urlencoded的编码方式,将表单数据编码为(name1=value1&name2=value2…),然后把这个字符串append到url后面,用?分隔,跳转到这个新的url。

- 当form的action为post时,浏览器将form数据封装到http body中,然后发送到server。

- 这个格式不能提交文件。

如下图

- Content-Type:表明请求参数类型为-- application/x-www-form-urlencoded。

- 将参数拼接为键值对:k1=v1&k2=v2。

(三)raw:

- 可以上传任意格式的参数,可以上传text、json、xml、html等。

(四)binary:

- 相当于Content-Type:application/octet-stream,只可以上传二进制数据,通常用来上传文件,由于没有键值,所以一次只能上传一个文件。

multipart/form-data与x-www-form-urlencoded区别:

- multipart/form-data:既可以上传文件,也可以上传键值对,最后会转化为一条信息。

- x-www-form-urlencoded:只能上传键值对,并且键值对都是间隔分开的。

你可能感兴趣的:(postman中 form-data、x-www-form-urlencoded、raw、binary的区别)