简介

  • post请求的body中可以存放任意格式的内容格式,浏览器可以根据请求头中的content-type对请求体进行解析。

form-data

  • 即multipart/form-data,它将表单的数据组织为key-value格式,用分隔符boundary(可任意设置)处理成一条信息。
  • 由于有boundary隔离,所以既可以上传参数,也可以上传文件。
  • 例如设置以下参数:
postman模拟post请求的4中请求体_第1张图片
  • 则形成post报文如下:
POST  HTTP/1.1
Host: test.app.com
Cache-Control: no-cache
Postman-Token: 59227787-c438-361d-fbe1-75feeb78047e
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

//filekey参数:
------WebKitFormBoundary7MA4YWxkTrZu0gW //分隔符
Content-Disposition: form-data; name="filekey"; filename=""
Content-Type: 


------WebKitFormBoundary7MA4YWxkTrZu0gW
//textkey参数:
Content-Disposition: form-data; name="textkey"

tttttt
------WebKitFormBoundary7MA4YWxkTrZu0gW--

x-www-form-urlencoded

  • 即application/x-www-form-urlencoded,也是key-value的数据形式,以&连接多个数据。
  • 例如设置以下参数:
postman模拟post请求的4中请求体_第2张图片
  • 形成报文如下:
POST  HTTP/1.1
Host: test.app.com
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: e00dbaf5-15e8-3667-6fc5-48ee3cc89758

key1=value1&key2=value2

raw

  • 可以上传任意格式的文本,如text、json、xml、html。
  • 例如设置参数如下:
postman模拟post请求的4中请求体_第3张图片
  • 形成post报文如下:
POST  HTTP/1.1
Host: test.app.com
Content-Type: application/json
Cache-Control: no-cache
Postman-Token: 05a064d2-fa79-10c0-caba-15ca5d1a940f

{"key1":"value1","key2":"value2"}

binary

  • 即content_type:application/octet-stream。只支持二进制数据,通常用于上传文件。由于没有键值,所以一次只能上传一个文件。
  • 例如上传文件如下:
  • 形成post如下:
POST  HTTP/1.1
Host: test.app.com
Cache-Control: no-cache
Postman-Token: 5ad66f08-6faa-aba0-744a-ca958b1a0fc2

undefined
  • 参考文章