HTTP协议 content-type字段常用属性

今天说说http的content-type字段属性

最常用的content-type属性有三种

1.application/x-www-form-urlencoded
2.application/form-data
3.application/json

在常见业务开发中,POST请求常常在这些地方使用:前端表单提交时、调用接口代码时。

1.使用application/x-www-form-urlencoded
表单代码

<form action="/user/testAjaxJson0" method="post" enctype="application/x-www-form-urlencoded">
    <input type="text" name="name">
    <input type="text" name="age">
    <input type="submit" value="submit">
</form>

通过chrome调试观察其HTTP报文

报文头
在这里插入图片描述
可以看出使用post表单提交时在表单属性enctype="application/x-www-form-urlencoded"时,HTTP报文的content-type=“application/x-www-form-urlencoded”,并且其表单数据被封装进请求体中,不同参数使用&被分隔, 对数据进行了编码。

ps:若使用get方式,是将参数转换?key=value&key=value格式,连接到url后

2.使用multipart/form-data
表单代码

<form action="/user/testAjaxJson0" method="post" enctype="multipart/form-data">
    <input type="text" name="name">
    <input type="text" name="age">
    <input type="submit" value="submit">
</form>

通过chrome调试观察其HTTP报文
在这里插入图片描述
在这里插入图片描述
我们从请求头content-type字段值可以看出,当我们改变了表单的enctype之后,字段值也随之改变,我们在开发者工具中可以看出multipart/form-data不会对参数编码,使用的boundary(分割线),boundary是用于在请求体中的数据的边界分割

ps: 若想进行文件上传则必须将enctype设置"multipart/form-data"

3.使用application/json
该字段使用postman调试工具测试
在这里插入图片描述
在这里插入图片描述

若有业务需要,需要上传json数据,则需要将其content-type设置为application/json,并在body 中写入原生json数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值