本文转自:什么是mime类型 - 方法数码 http://www.fangfa.net/webnews/390.html
MIME 类型在网站开发中经常碰到,特别是处理非文本数据的请求时(如:文件上传)、或者是给浏览器返回非文本的响应时(如:文件下载),了解它的概念,可帮助理解 HTTP 协议。
概览
MIME(Multipurpose Internet Mail Extensions 多用途互联网邮件扩展)是一个能让 Email 支持更多格式的互联网标准。包括:
ASCII 文本,带字符集的文本;
非文本的附件;
含有多种格式的消息主体;
非 ASCII 字符集中的头信息;
MIME 被广泛使用,早就超出了用于描述邮件内容的范围,它同样用于描述互联网中的内容类型。所有人们写的 Email,还有相当大比例的机器生成的 Email 都是用 MIME 标准通过 SMTP 发送的。Email 和 SMTP 和 MIME 标准的关系实在是太紧密,所以有时候我们把电子邮件叫做 SMTP/MIME Email。
MIME 标准的重要性不仅仅体现在 Email 中,在万维网的 HTTP 通信协议中也一样。HTTP 所请求的数据其实和 Email 的信息差不多,虽然数据大多数情况下并不是真正的 Email。
基础的 SMTP (邮件传输协议),只支持 7-位 ASCII 字符,这大大限制了 Email 传输消息的能力,只有少部分语言(主要是英语)写的消息才能被正确传输。其他语言,比如拉丁文,还带变音符号的,在 7-位 ASCII 字符集中是不被支持的,意味着在 Email 中就不能正确显示这些语言。
MIME 定义了在 Email 中发送其他类型信息的机制。其中包括使用字符集编码的文本,还有 8-位 二进制内容的文件(比如:图片、声音、视频,还有可执行程序)。部分 MIME 标准在其他通信协议中被重用,比如 HTTP,它请求的数据都和 Email 长的很像,但实际上这些数据和 Email 没半点关系,数据主体实际上可以是二进制的。在 Email 的客户端和服务端,系统都会自动完成消息与 MIME 格式的映射工作。
MIME 是可扩展的。它可以注册一个新的内容类型和其他的 MIME 属性。