MIME文档说明书.doc

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MIME文档说明书

MIME协议文档说明书 RFC#1521协议 简介 RFC#822定义了消息头的传输标准,而把消息体当成纯ASCII文本。这个文档重新定义了消息体的格式,使得消息体在交换非文本信息时不会失真。同时也使得消息可以在RFC#822主机和X.400主机(认为在消息体中加入非文本信息是合法的)之间进行交换。 该文档主要描述了MIME-Version字段、Content-Type字段、 Content-Transfer-Encoding字段。另外还简单的介绍了两个额外的字段:Content-ID和Content-Description MIME是可扩展的,它允许通过一定的方式向IANA注册新的字段或对现有字段的取值范围进行扩充。 在对文档进行进一步描述之前,需要先界定如下字段的含义: message,当没有进一步说明,它可以表示一个正在网上传输的完整消息,也可表示封装在一个Content Type值为message/rfc822或message/partial的body里的消息。 body part,表示Content-Type值为multipart的消息实体的一部分,它有一个头和一个体。 entity,实体,由MIME定义的头和消息或body part中的内容组成。 body,表示message或body part的体部分。 MIME-Version字段 该字段用一个版本号说明了消息所要遵循的规范,以区别不兼容的消息版本。如,MIME-Version: 1.0表示该消息遵循rfc#1521。为了便于描述以后扩展的消息格式,我们把MIME-Version字段定义为: version := MIME-Version : 1*DIGIT . 1*DIGIT ;两个被点(.)分开的整数。 由于MIME-Version头字段被要求放在消息的顶层。因此并不是每一个multipart entity的body part都要使用。只有当内嵌消息自己声明为MIME-conformant时,该字段才是必须的。 另外,值得注意的是,对于某些特定的content-types,版本控制不是由MIME-Version机制完成的。特别地,一些格式(如application/postscript)的版本编号方式规则是与特定的文档格式相关的。当这些规则存在的时候,MIME不会替代它们;当这些规则不存在的时候,必要时或许会在content-type字段的version参数里使用MIME类型。 注:所有在该文档中定义的字段,包括MIME-Version,Content-type都必须遵循在RFC#822中定义的头字段的句法规则。另外,所有字段均可包含注释。例如,如下两种表达方式是等价的: MIME-Version: 1.0 MIME-Version: 1.0 (Generated by GBD-killer 3.7) Content-Type字段 Content-Type字段,用于描述消息体中的数据类型以使消息接受者能够选择合适的机制来使这些数据呈现在用户面前。 Content-Type字段主要是通过给定类型和子类型以明确消息体的数据类型,对于某些类型或许还需要提供某些辅助信息。在类型和子类型名之后是一系列的以属性或值表达的参数。不同的类型有不同的参数,没有对于所有类型都适用的参数。参数的排序是没有意义的。在定义的参数当中有一个名为charset,通过这个参数可以声明在消息体中使用的字符集。 一般,Content-Type字段的高层用于声明通用的数据类型,而子类型(subtype)用于指定针对特定数据类型的格式。例如,当Content-Type字段值为image/xyz时,我们可以断定该消息体数据类型为图像,尽管我们不知道xyz是哪一种图像格式。 尽管大多数参数只对特定Content-Type字段有意义,有的参数却可以应用于任何子类型。例如boundary或许只对multipart字段有意义,但是charset却对几个Content-Type字段均有意义。 该文档初始定义了Content-Type字段的七个属性值,以后更多的类型可能会被定义以作为对该标准的扩充。因此当用户需要使用其它字段时,必须在字段名前加X-,以免与以后官方定义的名字相冲突。 以扩充的BNF语法来定义RFC#822,一个Content-Type字段可以定义如下: content := Content-Type : type / subtype *(; parameter) ; case-insensitive matching of type and subtype type := application

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档