Post请求中常见的Content-Type类型

Post请求中常见的Content-Type类型的结构

(1)application/x-www-form-urlencoded

这是浏览器原生的form表单类型,或者说是表单默认的类型。

下面是一个请求实例:

请求报文:

可以看得出,post将请求参数以key1=value1&key2=value2这种键值对的方式进行组织,并放入到请求体中。其中中文或某些特殊字符,如"/"、","、":" 等会自动进行URL转码。

(2)application/json

现在绝大部分的请求都会以json形式进行传输,post会将序列化后的json字符串直接塞进请求体中。

下面是一个请求实例:

请求报文:(postman查看请求报文,点击Send下面一行的code,然后点击HTTP即可)

可以看到,请求体中就是Json字符串。

(3)multipart/form-data

用于在表单中上传文件,先看一个请求实例:

请求报文:

可以看得出,首先随机生成了一个boundary字段,这个boundary用来分割不同的字段。

一个请求的参数,会以boundary开始,然后是附加信息(参数名称,文件路径等),再空一行,最后是参数的内容。

请求体最后再以boundary结束。

当然,response中也会有Content-Type为multipart/form-data的响应头。如果此时是导出文件,则响应头还需要添加一个

Content-Disposition:attachment;fileName=文件.后缀

注:Content-Disposition是Content-Type的扩展,告诉浏览器弹窗下载框,而不是直接在浏览器里展示文件。因为一般浏览器对于它能够处理的文件类型,如txt,pdf 等,它都是直接打开展示,而不是弹窗下载框。

相关推荐
凯子坚持 c17 小时前
生产级 Rust Web 应用架构:使用 Axum 实现模块化设计与健壮的错误处理
前端·架构·rust
IT_陈寒17 小时前
Python 3.12新特性实战:5个让你的代码效率翻倍的隐藏技巧!
前端·人工智能·后端
程序员小寒17 小时前
前端高频面试题之Vuex篇
前端·javascript·面试
网硕互联的小客服17 小时前
如何解决 Linux 文件系统挂载失败的问题?
linux·服务器·前端·网络·chrome
程序员爱钓鱼18 小时前
Python 编程实战 · 实用工具与库 — Flask 路由与模板
前端·后端·python
合作小小程序员小小店21 小时前
web开发,在线%超市销售%管理系统,基于idea,html,jsp,java,ssh,sql server数据库。
java·前端·sqlserver·ssh·intellij-idea
不爱学英文的码字机器1 天前
重塑 Web 性能:用 Rust 与 WASM 构建“零开销”图像处理器
前端·rust·wasm
浩星1 天前
react的框架UmiJs(五米)
前端·javascript·react.js
子醉1 天前
推荐一种适合前端开发使用的解决本地跨域问题的办法
前端