Http Body 的四种格式
1、参考资料
HTTP协议之multipart/form-data请求分析
2、Http Body 的四种格式
在 Postman 的请求体中有这样四种格式:form-data
,x-www-from-urlencoded
,raw
,binary
,那么这四种格式分别代表什么呢?
2.1、form-data
form-data
的作用
form-data
就是 Http 协议中的 multipart/form-data
,表示以表单形式提交,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。
使用
form-data
传输字符串键值对
在 Postman 选择 Body 的格式为 form-data
Content-Type
字段的值为 multipart/form-data
,并且使用 boundary
作为边界来划分每对 key-value
键值对
使用
form-data
传输文件
如何在 Postman 中传输文件?在 Postman 选择 Body 的格式为 form-data
,输入 Key 的时候选择【File】即可上传文件
Content-Type
字段的值为 multipart/form-data
,并且使用 boundary
作为边界来划分每对 key-value
键值对(文件和文件名也可以看作是 key-value
键值对的关系)
使用
form-data
同时传输字符串键值对和文件
在 Postman 选择 Body 的格式为 form-data
,添加字符串键值对和文件
呐,其实传输文件和传输字符串键值对也没啥区别嘛~~~
2.2、x-www-from-urlencoded
x-www-from-urlencoded
的作用
application/x-www-from-urlencoded
会将表单内的数据转换为键值对,比如 name=oneby&hobby=coding
演示
x-www-from-urlencoded
在 Postman 选择 Body 的格式为 x-www-from-urlencoded
Content-Type
字段的值为 application/x-www-form-urlencoded
,表单提交的参数以 key-value
键值对的形式被封装到请求体中
2.3、raw
raw
的作用
可以上传任意格式的文本
- 选择
text
,则请求头是:text/plain
- 选择
javascript
,则请求头是:application/javascript
- 选择
json
,则请求头是:application/json
(如果想以json
格式传参,就用raw+json
就行了) - 选择
html
,则请求头是:text/html
- 选择
application/xml
,则请求头是:application/xml
演示
raw
传输json
字符串
在 Postman 选择 Body 的格式为 raw
,并且选择 application/json
Content-Type
字段的值为 application/json
,请求体内容就是我们填入的 json 字符串
2.4、binary
binary
的作用
binary
通常用来上传文件,由于没有键值,所以,一次只能上传一个文件(一般用的不多)
演示
binary
传输单个文件
在 Postman 选择 Body 的格式为 binary
,并且选择要上传的文件
Content-Type
字段的值为 application/json
,只有传输一个文件,因此请求体内容就是文件内容