Content-Type 的值类型 对比

一、Content-Type 的值类型

1、application/x-www-form-urlencoded :

注解:窗体数据被编码为:名称/值对。-----标准的编码格式

作用:默认方式在请求过程中会对数据进行序列化处理,以键值对的形式的方式发送到服务器    ?key1=value1&key2=value2

优点:所有浏览器都支持

传递过程:

1. 前端以键值对的形式传递

2. application/x-www-form-urlencoded会通过 EncodeURL() 对其进行编码,给到服务端

3. 服务器通过 URLdecoder.decode() 进行解码,

4. 后端通过request.getParameter() 获取参数

 

2、application/json

注解:消息主体是序列化后的 JSON 字符串

作用:通知服务器请求主体是以 json 格式的字符串,服务端会以 进行对 json 字符串解析

优点:前端人员不需要关注数据结构的复杂度、只需要传递标准的 json 格式即可

传递过程:

1. 前端将 json 对象转化为 字符串或者二进制 (此处分为2种传输数据格式)

2. 服务器对 json 字符串不进行编码

3. 后端通过 2种方式接收,

  • 字符流取值-request.getReader() 
  • 字节流取值-request.getinputStream()

 

3、multipart/form-data

注解:主要用于传输文件、将文件转换成二进制数据进行传输,不设计转码问题,常见的媒体格式上传

作用:通知服务器请求是需要上传文件格式类型,服务器不进行编码

优点:前端人员不需要关注数据结构的复杂度、只需要传递标准的 文件 格式即可

传递过程:

1. 前端 上传文件,得到文件格式的参数

2. 服务器对 文件格式参数不进行编码

3. 后端通过 request.getInputStream() 取值

 

4、text/plain

注解:数据以纯文本形式进行编码,其中不包含任何控件或格式字符, 大部分情况不会使用,这里不做过多注解

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章