MIME协议

MIME协议详解

我们知道,现在的电子邮件已经基本上取代了传统的邮件。电子邮件不仅可以用文字来叙述,还可以加载音乐图像等多媒体形式。随着网络的不断革新,邮件也可以承载不同类型的文件进行传输。这个就需要MIME协议的支持了。

多用途网际邮件扩充协议(MIME)是 Multipurpose Internet Mail Extensions 的缩写,说明了如何安排消息格式使消息在不同的邮件系统内进行交换。MIME 的格式灵活,允许邮件中包含任意类型的文件。MIME 消息可以包含文本、图象、声音、视频及其它应用程序的特定数据。具体来说,MIME 允许邮件包括:

单个消息中可含多个对象;

文本文档不限制一行长度或全文长度;

可传输 ASCII 以外的字符集,允许非英语语种的消息;

多字体消息;

二进制或特定应用程序文件;

图象、声音、视频及多媒体消息。

MIME协议复合消息的目录信头设有分界标志,这个分界标志绝不可出现在消息的其它位置,而只能是在各部之间以及消息体的开始和结束处。

MIME协议的安全版本 S/MIME(Secure/Multipurpose Internet Mail Extensions)设计用来支持邮件的加密。基于 MIME 标准,S/MIME 为电子消息应用程序提供如下加密安全服务:认证、完整性保护、鉴定及数据保密等。

传统的邮件用户代理(MUA)可以使用 S/MIME 来加密发送邮件及解密接收邮件。然而,S/MIME 并不仅限于邮件的使用,它也能应用于任何可以传送 MIME 数据的传输机制,例如 HTTP。同样,S/MIME 利用 MIME 的面向对象特征允许在混合传输系统中交换安全消息。

此外,S/MIME 还可应用于消息自动传送代理,它们使用不需任何人为操作的加密安全服务,例如软件文档签名、发送到网上的 FAX 加密等。

MIME协议结构

MIME邮件头字段定义如下:

实体头:=[目录CRLF][编码CRLF][ID CRLF][描述CRLF]*(MIME扩展字段CRLF)

MIME消息头:=实体头

字段

CRLF版本

在BNF定义中声明的消息头字

段顺序应该忽略;

MIME局部头:=实体头

[字段]

不从“目录”开始的任何字段

没有具体含义,可忽略。

在BNF定义中声明的消息头字

段顺序应该忽略;

消息格式和S/MIME实现过程在相关文件中可以查阅。

 

PS:http协议中post上传文件使用的multipart/form-data以及格式,是从MIME协议中借过来的,也就是说MIME协议定义了多种multipart以及数据包格式,http协议为了增强功能,借鉴了一些。最早的HTTP协议中,并没有附加的数据类型信息,所有传送的数据都被客户程序解释为超文本标记语言HTML 文档,而为了支持多媒体数据类型,HTTP协议中就使用了附加在文档之前的MIME数据类型信息来标识数据类型。


  MIME意为多目Internet邮件扩展,它设计的最初目的是为了在发送电子邮件时附加多媒体数据,让邮件客户程序能根据其类型进行处理。然而当它被HTTP协议支持之后,它的意义就更为显著了。它使得HTTP传输的不仅是普通的文本,而变得丰富多彩。


  每个MIME类型由两部分组成,前面是数据的大类别,例如声音audio、图象image等,后面定义具体的种类。

MIME协议(中文版)》,DOC格式,大小89KB。 内容预览: MIME结构 一、 RFC822协议 RFC822 文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片、声音等二进制数据。另外,SMTP服务器在接收邮件内容时,当接收到只有一个“.”字符的单独行时,就会认为邮件内容已经结束,如果一封邮件正文中正好有内容仅为一个“.”字符的单独行,SMTP服务器就会丢弃掉该行后面的内容,从而导致信息丢失。 由于 Internet的迅猛发展,人们已不满足于电子邮件仅仅是用来交换文本信息,而希望使用电子邮件来交换更为丰富多彩的多媒体信息,例如,在邮件中嵌入图片、声音、动画和附件。但是,由于图片和声音等内容是非ASCII码的二进制数据,而RFC822邮件格式只适合用来表达纯文本的邮件内容,所以,要使用 RFC822邮件格式发送这些非ASCII码的二进制数据时,必须先采用某种编码方式将它们“编码”成可打印的ASCII字符后再作为RFC822邮件格式的内容。邮件阅读程序在读取到这种经过编码处理的邮件后,再按照相应的解码方式解码出原始的二进制数据,这样就可以借助RFC822邮件格式来传递多媒体数据了。这种做法需要解决以下两个技术问题: (1) 邮件阅读程序如何知道邮件中嵌入的原始二进制数据所采用的编码方式; (2) 邮件阅读程序如何知道每个嵌入的图像或其他资源在整个邮件内容中的起止位置。 针对这个问题,人们后来专门为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议。 二、 RFC822结构
MIME结构 一、 RFC822协议 RFC822 文档定义了邮件内容的主体结构和各种邮件头字段的详细细节,但是,它没有定义邮件体的格式,RFC822文档定义的邮件体部分通常都只能用于表述一段普通的文本,而无法表达出图片、声音等二进制数据。另外,SMTP服务器在接收邮件内容时,当接收到只有一个“.”字符的单独行时,就会认为邮件内容已经结束,如果一封邮件正文中正好有内容仅为一个“.”字符的单独行,SMTP服务器就会丢弃掉该行后面的内容,从而导致信息丢失。 由于 Internet的迅猛发展,人们已不满足于电子邮件仅仅是用来交换文本信息,而希望使用电子邮件来交换更为丰富多彩的多媒体信息,例如,在邮件中嵌入图片、声音、动画和附件。但是,由于图片和声音等内容是非ASCII码的二进制数据,而RFC822邮件格式只适合用来表达纯文本的邮件内容,所以,要使用 RFC822邮件格式发送这些非ASCII码的二进制数据时,必须先采用某种编码方式将它们“编码”成可打印的ASCII字符后再作为RFC822邮件格式的内容。邮件阅读程序在读取到这种经过编码处理的邮件后,再按照相应的解码方式解码出原始的二进制数据,这样就可以借助RFC822邮件格式来传递多媒体数据了。这种做法需要解决以下两个技术问题: (1) 邮件阅读程序如何知道邮件中嵌入的原始二进制数据所采用的编码方式; (2) 邮件阅读程序如何知道每个嵌入的图像或其他资源在整个邮件内容中的起止位置。 针对这个问题,人们后来专门为此定义了MIME(Multipurpose Internet Mail Extension,多用途Internet邮件扩展)协议。 .....
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值