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 等,它都是直接打开展示,而不是弹窗下载框。

相关推荐
小码哥_常3 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮5 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
明天也要努力学习6 小时前
HTTP 协议的基本格式和 fiddler 的用法
网络协议·http·fiddler
她说可以呀7 小时前
Vue插槽
前端·javascript·vue.js
qq_448011167 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan7 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_958352908 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
志尊宝8 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native
FRing039 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript
excel9 小时前
双 Token 与前端使用 Crypto 公私钥鉴权换 Token,哪种方案更好?
前端·后端