content-type详解,contentType
什么是content-type类型
Content-Type(内容类型),一般是指网页中存在的 Content-Type,用于定义网络文件的类型和网页的编码,决定浏览器将以什么形式、什么编码读取这个文件。
这就是经常看到一些 PHP 网页点击的结果却是下载一个文件或一张图片的原因。Content-Type 标头告诉客户端实际返回的内容的内容类型。
Content-Type是Http的实体首部字段,用于说明请求或返回的消息主体是用何种方式编码,在request header和response header里都存在。
常用类型:
一、application/x-www-form-urlencoded
1、浏览器的原生form表单。
2、提交的数据按照 key1=val1key2=val2 的方式进行编码,key和val都进行了URL转码。
二、multipart/form-data
常见的 POST 数据提交的方式。我们使用表单上传文件时,必须让 form 的 enctype 等于这个值。
首先生成了一个 boundary 用于分割不同的字段,为了避免与正文内容重复,boundary 很长很复杂。然后 Content-Type 里指明了数据是以 multipart/form-data 来编码,本次请求的 boundary 是什么内容。
消息主体里按照字段个数又分为多个结构类似的部分,每部分都是以 --boundary 开始,紧接着是内容描述信息,然后是回车,最后是字段具体内容(文本或二进制)。如果传输的是文件,还要包含文件名和文件类型信息。消息主体最后以 --boundary-- 标示结束。
三、application/json
消息主体是序列化后的 JSON 字符串,这个类型越来越多地被大家所使用。
四、text/xml
是一种使用 HTTP 作为传输协议,XML 作为编码方式的远程调用规范。
接口中的 Content-Type 介绍
接口文档中我们经常见到 content-type,这是什么呢?它有哪些值,这篇文章给大家解答。
接口发送参数、接收响应数据,都需要双方约定好使用什么格式的数据,例如 json、xml。
只有双方按照约定好的格式去解析数据才能正确的收发数据。
而 Content-Type 就是用来告诉你数据的格式,这样我们才能知道怎么解析参数。
如下图,我们可以看到接口的请求头和响应头中都有 Content-Type.
application/json :JSON数据格式,现在非常流行的格式
application/x-www-form-urlencoded :很常见的一种数据格式,post请求中通常默认是这个
multipart/form-data :上传文件时我们需要用到这个格式
application/xml :XML数据格式
text/html :HTML格式
text/plain :纯文本格式
image/png :png图片格式
这个格式会用=号连接参数名和参数值,并且会经过urlencode编码。
例如: title=testsub%5B%5D=1sub%5B%5D=2sub%5B%5D=3
我们来看下 Chrome 中的请求参数(查看时需要点击view source才能看到原始数据,否则是经过解析后的),如下图,我们传递了 username 和 password 两个参数,可以看到他们是用=拼接参数和值,用号拼接多个参数
这个格式会在多个参数之前插入一段分隔字符,如下图,我们传递了 page 和 pageSize 两个参数,他的分隔字符串在 Content-Type 中用 boundary 标明了,这样服务端解析的时候才知道怎么拆分参数。
还有更多数据格式,我们就不再举例了,有兴趣的可以直接打开浏览器的开发者工具,直接查看到他们的数据(记得要切换到view source)
二、HTTP Content-Type详解
上一篇介绍了: 所谓“神秘”的XMLHttpRequest对象
之前写 JavaScript 时,并没有特意去整理过类似的知识点,本文整理记录下,方便自己查阅。
Media-Type,即是 Internet Media Type,互联网媒体类型,也叫做 MIME 类型。在互联网中有成百上千种不同的数据类型,HTTP 在传输数据对象时会为他们打上称为 MIME 的数据格式标签,用于区分数据类型。最初 MIME 是用于电子邮件系统的,后来 HTTP 也采用了这一方案。
Content-Type 格式: Content-Type: [type]/[subtype]; parameter
为了确保这些值再一个有序而且公开的状态下开发,MIME 使用 Internet Assigned Numbers Authority(IANA)作为中心的注册机制来管理这些值。常用的有如下这些:
附: Content-Type 对照表
下一篇: HTTP协议
The end.
html中的content-type是什么意思?
content-type是内容类型,用于定义网络文件的类型和网页的编码,决定文件接收方将以什么形式、什么编码读取这个文件。
用法示例:meta?content="text/html; charset=gb2312" http-equiv="Content-Type"/
描述内容类型的字符串。该字符串通常被格式化为类型/子类型,其中类型是常规内容范畴而子类为特定内容类型。
扩展资料
content-type文件内容对照:
".*"="application/octet-stream"
".001"="application/x-001"
".301"="application/x-301"
".323"="text/h323"
".906"="application/x-906"
".907"="drawing/907"
".a11"="application/x-a11"
".acp"="audio/x-mei-aac"
".ai"="application/postscript"
".aif"="audio/aiff"
".aifc"="audio/aiff"
".aiff"="audio/aiff"
".anv"="application/x-anv"
".asa"="text/asa"
".asf"="video/x-ms-asf"
".asp"="text/asp"
".asx"="video/x-ms-asf"
".au"="audio/basic"
".avi"="video/avi"
".awf"="application/vnd.adobe.workflow"
".biz"="text/xml"
".bmp"="application/x-bmp"
".bot"="application/x-bot"
".c4t"="application/x-c4t"
".c90"="application/x-c90"
".cal"="application/x-cals"
".cat"="application/s-pki.seccat"
".cdf"="application/x-netcdf"
".cdr"="application/x-cdr"
".cel"="application/x-cel"
".cer"="application/x-x509-ca-cert"
".cg4"="application/x-g4"
".cgm"="application/x-cgm"
参考资料来源:百度百科-ContentType