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

版权声明:本文为博主原创文章,欢迎转载,转载标明原文地址: https://blog.csdn.net/u012943767/article/details/80917026

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

在日常开发中,通常会因为提交数据的方式不同而导致各种各样的问题,归根结底是因为未能正确认识到POST方式上传数据的几种方式的区别。所以很有必要研究一下这几种提交方式的区别。

  • form-data方式:表示http请求中的multipart/form-data方式,会将表单的数据处理为一条消息,用分割符隔开,可以上传键值对或者上传文件.比如按照如下方式传输提交数据:

这里写图片描述

则上传的数据为:

--l_Sh3DQ0_nc-zPblBpi8L3Oq63BWUDLqDqbRpyd
Content-Disposition: form-data; name="name"
Content-Type: text/plain;charset=UTF-8
Content-Length: 12

wangjianfeng
--l_Sh3DQ0_nc-zPblBpi8L3Oq63BWUDLqDqbRpyd
Content-Disposition: form-data; name="age"
Content-Type: text/plain;charset=UTF-8
Content-Length: 2

20
--l_Sh3DQ0_nc-zPblBpi8L3Oq63BWUDLqDqbRpyd--

上面数据采用了以--开头和结尾的字串作为分割符,把不同的字段分割开来。所以可以同时上传多个文件以及多个键值对。

  • x-www-form-urlencoded:会把表单数据转换为键值对,以上面的例子来说,上传的数据为:
name=wangjianfeng&age=12
  • raw:可以上传任意格式的文本,文本不做任何修饰传到服务端。比如传一些xml,或者json数据,或者text文本数据。
  • binary:相当于Content-Type:application/octet-stream,只可以上传二进制数据,通常用来上传文件,但是一次只能上传一个文件。
  • multipart/form-data与x-www-form-urlencoded的区别
    • multipart/form-data:可以上传文件或者键值对,最后都会转化为一条消息
    • x-www-form-urlencoded:只能上传键值对,而且键值对都是通过&间隔分开的。

猜你喜欢

转载自blog.csdn.net/u012943767/article/details/80917026