logo小熊博客
首页 代码速查表 fk标记语言示例 登录
目录
HTTP 常见的传输格式区别

application/json

  • 描述:这种格式用于传输 JSON 数据,常见于 Web API 中。
  • 数据格式:数据是 JSON 格式,通常为键值对(key-value)结构。
  • 应用场景:用于前后端数据交互,尤其是 RESTful API 中。
  • 优点
    • 简单且易于阅读。
    • 易于与 JavaScript(以及其他语言)处理,广泛用于 Web 开发。
{
  "name": "John",
  "age": 30
}

application/x-www-form-urlencoded

  • 描述:这种格式通常用于 HTML 表单的提交方式,是 URL 编码的方式。
  • 数据格式:数据会将所有键值对以 key=value 的形式拼接成字符串,多个键值对之间用 & 分隔,所有的键和值都会进行 URL 编码。
  • 应用场景:表单提交数据,常见于传统的 Web 表单(如登录、注册等)提交。
  • 优点
    • 简单,兼容性好,广泛支持。
    • 对于文本数据特别合适。
name=John&age=30

application/xml

  • 描述:这种格式用于传输 XML 数据,通常用于 Web 服务(如 SOAP)中。
  • 数据格式:数据采用 XML 标签结构,可以更复杂地表达嵌套关系。
  • 应用场景:传统的 Web 服务、与 SOAP 协议配合使用。
  • 优点:
    • 支持复杂的嵌套结构,适用于复杂数据的传输。
    • 与早期 Web 服务兼容性好。
<person>
  <name>John</name>
  <age>30</age>
</person>

multipart/form-data

  • 描述:这种格式用于上传文件时,数据将被分为多个部分,允许每个部分包含不同类型的数据。
  • 数据格式:数据是通过边界(boundary)分隔成多个部分,可以同时传输文本数据和文件数据。
  • 应用场景:文件上传、表单中有文件字段的提交。
  • 优点
    • 可以传输大文件及二进制数据。
    • 支持多种不同类型的数据(文本、图片、音频等)。
--boundary
Content-Disposition: form-data; name="name"

John
--boundary
Content-Disposition: form-data; name="file"; filename="photo.jpg"
Content-Type: image/jpeg

[文件内容]
--boundary--

总结

  • application/json:适合用于 API 接口,传输结构化数据,特别是键值对。
  • application/x-www-form-urlencoded:适合于表单数据提交,适用于简单的文本数据传输。
  • application/xml:适合用于 Web 服务和较复杂的嵌套数据结构。
  • multipart/form-data:适合用于上传文件和传输混合数据(文本+文件)。
上一篇:Gin如何处理请求参数
下一篇:调整vscode侧边栏字体大小
请我喝奶茶!
赞赏码
手机扫码访问
手机访问