提交表单数据的不同

前后端通信的时候,我们肯定要定义传输的格式,以便进行交流,我们利用http进行数据传输时有不少提交数据的方式,之前也就是用别人封装好的,也没有太总结过~~废话少说,listing it~

在http的协议里有个header字段来进行数据格式的约束,就是Content-Type 字段。它有三个指令:

  • midea-type: 资源类型MIME
  • charset:字符集
  • boundary:简单来说用来区分资源的分块标识

例如

Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=something

我们主要来总结下常见的MIME type:

  • text/html
  • text/css
  • application/javascript
  • application/json
  • multipart/form-data
  • application/x-www-form-urlencoded

后三种就是我们常见的表单提交的三种payload格式,一个是json字符串,一个是分片表单提交,一个是url表单提交。

后两种有什么区别呢?一般要提交文件的时候是要用分片的方式提交的,用multipart/form-data,而通常的表单字段的提交则用application/x-www-form-urlencoded来提交,这种提交就如同自动在url上添加了keyvalue的query,比前一种方式更节省传输的大小。