http与 content-type详解

经历了第一次面试,面试官问了content-type吗?当时蒙了一下没反应过来,现在总结一下加深了解。
http协议是建立在tcp/ip协议之上的应用层协议,主要包含三个部分:状态行、头部信息、消息主体。对应一个http请求就是:请求行、请求头、请求体。
协议规定:post提交的数据,必须包含在消息主体中,但是协议并没有规定数据使用什么编码方式。开发者可以自己决定消息主体的格式。
数据发送出去后,需要接受的服务端解析成功,一般服务端会根据content-type字段来获取参数是怎么编码的,然后进行解码。
content-type是HTTP协议header中的一个重要参数,它用于表示发送或者接收到的数据类型,浏览器根据content-type来决定数据的打开方式。
content-type描述的是发送端,在这里发送端既可以是服务器也可以是客户端。

如果使用ajax对象发送post请求,必须先设置一下请求头中的content-type;告诉服务端我给你的是一个什么样子的数据格式
他代表了发送端发送的实体数据的数据类型。
常见的四种类型
1.application/json
常用,消息主体是序列后的JSON字符串,该方案可以方便的提交复杂的结构化数据。
作用:告诉服务器请求的主题内容是json格式的字符串,服务端会对json字符串进行解析
好处:前端人员不需要关心数据结构的复杂度,只要是标准的json格式就能提交成功。
2.multipart/form-data
常见的POST数据提交的方式。我们使用表单上传文件时,必须让from的en
type等于这个值。常见的媒体格式是上传文件时使用的。
3. application/x-www-form-urlencoded
浏览器的原生from表单
提交的数据按照 key = value 的方式进行编码,key和val都进行了URL转码。
是jQuery 的Ajax请求默认方式;
作用:在请求发送过程中会对数据进行序列化处理,以键值对的形式发送到服务器
好处:所用浏览器都支持
4. text/plain
是一种使用HTTP作为传输协议,xml作为编码方式的远程调用规范。
数据一纯文本的方式(text/json/xml/html)进行编码,其中不含任何控件或格式字符。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值