java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Postman form-data、x-www-form-urlencoded的区别

Postman form-data、x-www-form-urlencoded的区别及说明

作者:码灵

这篇文章主要介绍了Postman form-data、x-www-form-urlencoded的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Postman form-data、x-www-form-urlencoded的区别

我们在平时的postman请求调试,以及web的http请求开发时,常常能看到以下几种传参的形式 form-data、x-www-form-urlencoded、raw、binary,那么这些请求方式的区别是什么呢?

1、form-data

就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。

上图中我们可以看到在postman中form-data选项,key是有下拉选择项的,这也说明了form-data类型支持key-value和文件传输。

上图中我们可以看到,明显的不同的key参数之间是有boundary分割的。每个参数都有Content-Disposition: form-data; name="xxx"信息

2、x-www-form-urlencoded

就是application/x-www-from-urlencoded,会将表单内的数据转换为键值对,比如,name=java&age = 23

我们可以看到,这个形式的传参方式,postman的key是并没有像form-data一样改出File的下拉选项的,这也说明了这种方式只支持string的key-value值传递。

在上图中我们也能明显的看到在http的body体中传输的格式。同时我们也看到对于存在中文和空格的情况,它是会进行转换的。

3、raw

可以上传任意格式的文本,可以上传text、json、xml、html等

http的传输格式:

4、binary

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

postman中也可以看出,下面只有一个select file的功能。也说明只能传文件。

辅助

postman有个很好用的功能预览代码,点击右侧code,选择格式

有多种格式,尤其是对于各种语言的功能,比如像Go语言,直接生成代码。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文