Content-Type 解析

Content-Type

定义

Content-Type(MediaType),即是Internet Media Type,互联网媒体类型,也叫做MIME类型。在互联网中有成百上千中不同的数据类型,HTTP在传输数据对象时会为他们打上称为MIME的数据格式标签,用于区分数据类型。最初MIME是用于电子邮件系统的,后来HTTP也采用了这一方案。

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

Content-Type的格式:

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

  • HTML文档标记:text/html;
  • 普通ASCII文档标记:text/html;
  • JPEG图片标记:image/jpeg;
  • GIF图片标记:image/gif;
  • js文档标记:application/javascript;
  • xml文件标记:application/xml;

上面的知道即可,下面的四种必须牢记

1. application/x-www-form-urlencoded

不支持文件,用于表单提交
中文或特殊字符如"/"、","、“:" 等会自动进行URL转码

2. multipart/form-data

支持文件上传的格式。
数据格式:

  • 以------boundary开始
  • 附加信息和参数名
  • 空行
  • 参数值
  • 多参数会有多个boundary块
  • 参数若是文件,会有特别文件域
  • 最后以------boundary–为结束标识

3. application/json

4. application/xml 和 text/xml

text/xml的话,将忽略xml数据里的编码格式

  • application/xml实体默认用 UTF-8 字符集,Content-type: application/xml; charset="utf-8" 或 都可以生效
  • text/xml 实体在 XML 头指定编码格式无效,必须在 HTTP 头部的 Content-Type: 中指定才会生效(例如 无法设置字符集,Content-Type: text/xml; charset="utf-8" 则可以)。没有设置字符集时默认使用“us-ascii”字符集。



参考来源:

https://blog.csdn.net/qq_14869093/article/details/86307084 ——Content-Type 详解
https://blog.csdn.net/kikajack/article/details/79233017 ——MIME 类型中,application/xml 与 text/xml 的区别

posted @ 2022-09-29 12:26  Brickert  Views(228)  Comments(0Edit  收藏  举报