【前端攻略】四种数据格式解析:form-data、x-www-form-urlencoded、raw、binary都有什么不同?

4 min read

这四种方式都是HTTP请求头中Content-Type字段的不同取值,用于指定请求体中的数据格式。它们的主要区别如下:

  1. form-data:用于发送表单数据,适用于数据量较大且有文件上传的情况,数据以键值对(key-value)的形式出现,数据之间使用分隔符分隔,常见于POST请求中。可以通过multipart/form-data类型的enctype值来进行提交。
  2. x-www-form-urlencoded:也用于发送表单数据,适用于数据量较小且没有文件上传的情况,数据格式同样为键值对(key-value),但数据之间用&符号分隔,当然也可以通过POST请求方式发送。可以通过application/x-www-form-urlencoded类型的enctype值来进行提交。
  3. raw:纯文本数据格式,适用于向服务器提交数据或请求体中的数据量较大的情况,常见的有JSON格式数据。常用的Content-Type值包括:text/plain、application/json等。
  4. binary:用于以二进制流的方式传输数据,常用于文件下载/upload、图片验证等场景,通常使用Content-Type值为application/octet-stream。

需要注意的是,不同的请求头Content-Type值会影响服务器进行请求体数据的解析,因此需要根据实际需求来选择使用哪种数据格式。