2024年6月2日发(作者:)

A.0、MIME

Multipurpose Internet Mail Extension(多功能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意为多功能Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附

加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,

它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。

由于MIME类型与文档的后缀相关,因此服务器使用文档的后缀来区分不同文件的

MIME类型,服务器中必须定义文档后缀和MIME类型之间的对应关系。而客户程序从服

务器上接收数据的时候,它只是从服务器接受数据流,并不了解文档的名字,因此服务器

必须使用附加信息来告诉客户程序数据的MIME类型。服务器在发送真正的数据之前,就

要先发送标志数据的MIME类型的信息,这个信息使用Content-type关键字进行定义,

例如对于HTML文档,服务器将首先发送以下(Content-type: text/html)MIME标识信息,

这个标识并不是真正的数据文件的一部分。

MIME利用了一个事实就是,RFC 822在消息体的内容中做了一点限制:唯一的限制

就是只能使用简单的ASCII文本。所以,MIME信息由正常的Internet文本邮件组成,文

本邮件拥有一些特别的符合RFC 822的信息头和格式化过的信息体(用ASCII 的子集来

表示的附件)。这些MIME头给出了一种在邮件中表示附件的特别的方法。

A.1、MIME信息的剖析

一个普通的文本邮件的信息包含一个头部分(To: From: Subject: 等等)和一个体部

分(Hello Mr.,等等)。邮件的各个部分叫做MIME段,每段前也缀以一个特别的头。MIME

邮件只是基于RFC 822邮件的一个扩展,然而它有着自己的RFC规范集。

头字段

MIME头根据在邮件包中的位置,大体上分为MIME信息头和MIME段头。(译者:

MIME信息头指整个邮件的头,而MIME段头只每个MIME段的头。)

MIME信息头

-Version:

这个头提供了所用MIME的版本号。这个值习惯上为1.0。

t-Type: