POST请求头中的Content-Type说明

本文详细介绍了HTTP请求中Content-Type的作用,包括text/html、application/json、multipart/form-data等多种类型,以及它们在数据传输过程中的应用,重点讨论了在POST请求中数据编码的规范和解析方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.介绍

2.格式

3.几种常见方式

1.application/x-www-form-urlencoded(默认方式)

2.multipart/form-data(上传文件,图片及mp3等)

3.application/json(最常用)

4.text/xml


1.介绍

在HTTP协议消息头中,使用Content-Type来表示媒体类型信息。它被用来告诉服务端如何处理请求的数据,以及告诉客户端(一般是浏览器)如何解析响应的数据,比如显示图片,解析html或仅仅展示一个文本等。

Post请求的内容放置在请求体中,Content-Type定义了请求体的编码格式。数据发送出去后,还需要接收端解析才可以。接收端依靠请求头中的Content-Type字段来获知请求体的编码格式,最后再进行解析。

2.格式

Content-Type:type/subtype ;parameter

type:主类型,任意的字符串,如text,如果是*号代表所有;
subtype:子类型,任意的字符串,如html,如果是*号代表所有,用“/”与主类型隔开;
parameter:可选参数,如charset,boundary等。
例如:

Content-Type: text/html;
Content-Type: application/json;charset:utf-8;
Content-Type: application/x-www-form-urlencoded;charset:utf-8;

3.几种常见方式

1.application/x-www-form-urlencoded(默认方式)

默认以 application/x-www-form-urlencoded 方式提交数据。
此方式的编码方式:首先,Content-Type 被指定为 application/x-www-form-urlencoded;post将请求参数以key1=value1&key2=value2这种键值对的方式进行组织,并放入到请求体中。其中中文或某些特殊字符,如"/"、","、“:" 等会自动进行URL转码

2.multipart/form-data(上传文件,图片及mp3等)

指定传输数据为二进制类型,使用表单上传文件时、图片及mp3等,必须让<form> 表单的 enctype 等于 multipart/form-data。 Content-Type 里指明了数据是以 multipart/form-data 来编码,具体的是以一个boundary=${boundary}来进行分割。boundary=${boundary}之后就是请求体内容了,请求体内容各字段之间以--${boundary}来进行分割,以--${boundary}--来结束请求体内容。

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

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

3.application/json(最常用)

使用application/json 这个 Content-Type 作为响应头,现在绝大部分的请求都会以json形式进行传输,post会将序列化后的json字符串直接塞进请求体中,用来告诉服务端消息主体是序列化后的 JSON 字符串。这种方案,可以方便的提交复杂的结构化数据,特别适合 RESTful 的接口。

4.text/xml

使用application/json 这个 Content-Type 作为响应头,用来告诉服务端消息主体是xml格式的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值