1:Content-Type
  MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。
  类型格式:type/subtype(;parameter)? type
  主类型,任意的字符串,如text,如果是号代表所有;
  subtype 子类型,任意的字符串,如html,如果是号代表所有;
  parameter 可选,一些参数,如Accept请求头的q参数, Content-Type的 charset参数。

  常见的媒体格式类型如下:

  1. text/html : HTML格式
  2. text/plain :纯文本格式
  3. text/xml : XML格式
  4. image/gif :gif图片格式
  5. image/jpeg :jpg图片格式
  6. image/png:png图片格式

  以application开头的媒体格式类型:

  1. application/xhtml+xml :XHTML格式
  2. application/xml : XML数据格式
  3. application/atom+xml :Atom XML聚合格式
  4. application/json : JSON数据格式
  5. application/pdf :pdf格式
  6. application/msword : Word文档格式
  7. application/octet-stream : 二进制流数据(如常见的文件下载)
  8. application/x-www-form-urlencoded : <form encType=””>中默认的encType,form表单数据被编码为key/value格式发送到服务器(表单默认的提交数据的格式)

  另外一种常见的媒体格式是上传文件之时使用的:

  1. multipart/form-data : 需要在表单中进行文件上传时,就需要使用该格式

2:MIME类型的含义

   MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,    以及一些媒体文件打开方式。   

   MIME的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。   

   MIME能够支持非ASCII字符、二进制格式附件等多种格式的邮件消息。这个标准被定义在; RFC 2045,; RFC 2046,; RFC 2047,; RFC 2048,; RFC 2049等RFC中。 由RFC 822转变而来的RFC 2822,规定电子邮件标准并不允许在邮件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英语字符消息和二进制文件,图像,声音等非文字消息都不能在电子邮件中传输。MIME规定了用于表示各种各样的数据类型的符号化方法。   

   浏览器接收到文件后,会进入插件系统进行查找,查找出哪种插件可以识别读取接收到的文件。如果浏览器不清楚调用哪种插件系统,它可能会告诉用户缺少某插件,或者直接选择某现有插件来试图读取接收到的文件,后者可能会导致系统的崩溃。传输的信息中缺少MIME标识可能导致的情况很难估计,因为某些计算机系统可能不会出现什么故障,但某些计算机可能就会因此而崩溃。

   在把输出结果传送到浏览器上的时候,浏览器必须启动适当的应用程序来处理这个输出文档。这可以通过多种类型MIME(多功能网际邮件扩充协议)来完成。在HTTP中,MIME类型被定义在Content-Type header中。   

  例如,假设你要传送一个Microsoft Excel文件到客户端。那么这时的MIME类型就是“application/vnd.ms-excel”。在大多数实际情况中,这个文件然后将传送给Execl来处理(假设我们设定Excel为处理特殊MIME类型的应用程序)。在ASP.NET中,设定MIME类型的方法是通过Response对象的ContentType属性。

3:response的contentType

   ajax开发中在请求服务器端的响应时, 对于每一种返回类型 规范的做法是要在服务端指定response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候) 。

  常遇到下面的几种情况:

  1、 服务端需要返回一段普通文本给客户端,Content-Type="text/plain"
  2 、服务端需要返回一段HTML代码给客户端 ,Content-Type="text/html"
  3 、服务端需要返回一段XML代码给客户端 ,Content-Type="text/xml"
  4 、服务端需要返回一段javascript代码给客户端,text/javascript
  5 、服务端需要返回一段json串给客户端,application/Json

 

比较全面的contentType的类型值:

在response 头中设置UTF8编码 response type_xml

在response 头中设置UTF8编码 response type_客户端_02

在response 头中设置UTF8编码 response type_客户端_03

在response 头中设置UTF8编码 response type_服务端_04

在response 头中设置UTF8编码 response type_服务端_05

在response 头中设置UTF8编码 response type_服务端_06

在response 头中设置UTF8编码 response type_xml_07

在response 头中设置UTF8编码 response type_客户端_08

在response 头中设置UTF8编码 response type_服务端_09

Requests:

在response 头中设置UTF8编码 response type_xml_10

在response 头中设置UTF8编码 response type_xml_11

在response 头中设置UTF8编码 response type_服务端_12

Responses:

在response 头中设置UTF8编码 response type_客户端_13

在response 头中设置UTF8编码 response type_服务端_14

在response 头中设置UTF8编码 response type_xml_15