MHTML 技术专题简介

简介

MHTMLIE使用的图标扩展名.mht, .mhtml互联网媒体类型multipart/relatedapplication/x-mimearchive格式类型置标语言扩展自HTML标准RFC 2557(1999年推荐)网页封存档(英语:MIME HTML或MIME Encapsulation of Aggregate HTML Documents,缩写mhtml)是种存储文件格式,在RFC 2110中定义,后经RFC 2557修订。微软称之单一档案网页或单个文件网页(Single-File Web Page)。其以多用途互联网邮件扩展格式,应用HTML邮件消息相同技术开发,将一个多附件网页(如包含大量图片、Flash动画、Java小程序的网页)存储成单一文件,扩展名为.mht(IE)或.mhtml(Chromium),支持浏览器对此两种扩展名皆可设置读取。由于IE最早使用,有时被简称MHT。

与HTML差异

HTML页面中的图形和其他功能可以分开存放,需要原始文件上引用,也可以通过data URI scheme等途径嵌入其中。MHTML则把网页及其附件皆存储为单一文件。

创建及编辑

Microsoft Office(Word、Excel、PowerPoint、Access)能够创建及编辑MHTML文件。

在Linux平台上,程序kmhtConvert可将文件转换为MHTML格式。

浏览器的支持

有些浏览器具有本地的这种把网页保存为MHTML的方式,而有些浏览器可直接通过第三方的扩展支持MHTML格式。由于保存为MHTML的方式未经标准化,因此各浏览器读取的效果略有不同。

Internet Explorer

Microsoft Internet Explorer自5.0版支持MHTML格式,是第一个支持MHTML文件的浏览器。

Opera

Opera自9.0版支持把网页保存为MHTML文件,或读取MHTML文件。但基于WebKit/Blink的Opera 15却未提供此功能,直到Opera 16才恢复。

现时通过.mw-parser-output .monospaced{font-family:”Menlo”,”Consolas”,”Liberation Mono”,”Courier New”,monospace}opera://flags#save-page-as-mhtml激活实验性的选项。

Firefox

Firefox不支持读写MHT文件。在57.0之前有两个这样的扩展是免费提供的,如Mozilla Archive Format (页面存档备份,存于互联网档案馆)、UnMHT。

Google Chrome

在Chrome创建MHTML文件可以通过激活

chrome://flags#save-page-as-mhtml这个实验性的选项(25.0起)(现已移除),或是通过用于扩展程序的API(35.0起)。

Safari

Safari不提供对MHTML的支持,代之以苹果公司自创的Webarchive(英语:Webarchive)格式,OS X的版本中还提供保存为PDF选项。也有人试图为Safari创建读写MHTML文件的扩展。

Konqueror

Konqueror需要使用mhtconv (页面存档备份,存于互联网档案馆)扩展以实现对MHTML的支持。

ACCESS NetFront

NetFront 3.4(像是索尼爱立信K850等设备上的)可读取或保存MHTML文件。

Pale Moon

Pale Moon需要安装MHT文件读写的扩展。有一个这样的扩展是免费提供的,即MozArchiver (页面存档备份,存于互联网档案馆)。

GNOME Web

最近的GNOME Web版本可以访问MHTML。

Vivaldi

Vivaldi可以通过

vivaldi://flags#save-page-as-mhtml激活实验性的选项。

MHT阅读器

一些商业或民间开发者设计了MHT文件阅读器,还提供转换为其它格式(如转换为PDF)的选项。

格式

MHTML文件的第一部分是电子邮件标头,第二部分是常规的HTML源码,后续部分是由各自的URL标识的附件,并以base64格式编码。

该文件与 .eml(电子邮件)具有互换性,二者的扩展名可以相互交换。一份 .eml 文件可以作为电子邮件发送,也可以通过电邮客户端显示,一条电邮信息可以用 .mhtml 或 .mht 扩展名存储,并通过一些网页浏览器或者文本编辑器显示。

示例如下:

Subject:标题Date: Wed, 15 Dec 2004 10:05:01 +1000Content-Type: multipart/related;Content-Transfer-Encoding: quoted-printableContent-Location: file://C:/fishier.htmlThis is a multi-part message in MIME format.Content-Type: text/html;   Title     ... Content-Type: image/gifContent-Transfer-Encoding: base64Content-Location: file://C:/image.gifRHLJbDYX0KhHzv7yGcCgghhgHLJbDYX0KhHzv7yGcChkNdjn+Nfn+NXm98/i98rf9sfe9b/Z9L3X87fU8qP8afL8AHzvfg7yGcChkNIwMZHLJbDYX0KhHzv37yGcChkNIw2Oj5AAAZIAlhAAACwAAAAAer8JhHg8PhgQBrPZwG673+6CoUCv2+91gn5PGPT7fgOCg4SFhQKIiYoCAY2Oj5AAAZIAlJWXACEA4SFh==

其中Subject为文档标题,Content-Type为文件的MIME属性,Content-Location为原始文件的地址,Content-Transfer-Encoding为编码格式。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平