zoukankan      html  css  js  c++  java
  • post请求body格式

    在PostMan中用Post方式,Body有form-data,x-www-form-urlencoded,raw,binary四种。
    其中raw又分以下7种。
    现在来区分一下:
    form-data
    是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。
    Request Header示例:
    POST /upload.do HTTP/1.1
    User-Agent: SOHUWapRebot
    Accept-Language: zh-cn,zh;q=0.5
    Accept-Charset: GBK,utf-8;q=0.7,*;q=0.7
    Connection: keep-alive
    Content-Length: 60408
    Content-Type:multipart/form-data; boundary=ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Host: www.sohu.com
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Content-Disposition: form-data;name="desc"
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    [......][......][......][......]...........................
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC
    Content-Disposition: form-data;name="pic"; filename="photo.jpg"
    Content-Type: application/octet-stream
    Content-Transfer-Encoding: binary
    [图片二进制数据]
    --ZnGpDtePMx0KrHh_G0X99Yef9r8JZsRJSXC--

    x-www-form-urlencoded
    是http请求中的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。
    这个格式不能提交文件。
    raw
    可以上传任意格式的文本,可以上传text、json、xml、html、javascript等
    binary
    等同于Content-Type:application/octet-stream,只可上传二进制数据,通常用来上传文件,由于没有键值,所以一次只能上传一个文件。
    注意:
    form-data与x-www-form-urlencoded不同之处在于(multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息; x-www-form-urlencoded:只能上传键值对,且键值对都是间隔分开。)

    1、form-data: 

                       就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;

    由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对,它采用了键值对的方式,所以可以上传多个文件。

                     

    2、x-www-form-urlencoded:

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

    3、raw

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

    4、binary

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

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

                   multipart/form-data:既可以上传文件等二进制数据,也可以上传表单键值对,只是最后会转化为一条信息;

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

  • 相关阅读:
    关于MySQL中的TRUNCATE语句
    关于在如何linux上部署禅道
    关于Python中的for...else...语句格式
    关于python中身份标识"is"与值运算符"=="
    Vite Vue3.0 使用 SVG Icon (自定义Vite插件)
    Python 远程开发树莓派 点亮LED灯
    Vue 基于elementUI的电梯导航
    JavaScript 原生数字千分位格式化函数(多功能的toLocaleString)
    JavaScript IntersectionObserver 图片懒加载及文字动态划线
    JavaScript await 优雅的捕获异常
  • 原文地址:https://www.cnblogs.com/bolang100/p/10918145.html
Copyright © 2011-2022 走看看