網頁封存檔(或,缩写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但基於WebKit/Blink的Opera 15卻未提供此功能,直到Opera 16才恢復。
現時通過啟用實驗性的選項。
Firefox
Firefox不支援讀寫MHT文件。在57.0之前有兩個這樣的擴展是免費提供的,如[http://maf.mozdev.org/index.html Mozilla Archive Format] 、[https://web.archive.org/web/20170207055530/http://www.unmht.org/unmht/en_index.html UnMHT]。
Google Chrome
在Chrome 86版中,创建MHTML文件的功能已默认启用。
Safari
Safari不提供对MHTML的支持,代之以苹果公司自创的格式,OS X的版本中还提供保存为PDF选项。也有人试图为Safari创建读写MHTML文件的扩展。
Konqueror
Konqueror需要使用[http://sourceforge.net/projects/mhtconv mhtconv] 扩展以实现对MHTML的支持。
ACCESS NetFront
NetFront 3.4(像是等设备上的)可读取或保存MHTML文件。
Pale Moon
Pale Moon需要安裝MHT文件讀寫的擴展。有一個這樣的擴展是免費提供的,即[https://addons.palemoon.org/addon/mozarchiver/ MozArchiver] 。
GNOME Web
最近的GNOME Web版本可以存取MHTML。
Vivaldi
Vivaldi可以通過啟用實驗性的選項。
MHT阅读器
一些商业或民间开发者设计了MHT文件阅读器,还提供转换为其它格式(如转换为PDF)的选项。
格式
MHTML檔案的第一部分是電子郵件檔頭,第二部分是常規的HTML源碼,後續部分是由各自的URL標識的附件,并以base64格式編碼。
該檔案與 .eml(電子郵件)具有互換性,二者的副檔名可以相互交換。一份 .eml 檔案可以作為電子郵件發送,也可以通過電郵客戶端顯示,一條電郵資訊可以用 .mhtml 或 .mht 副檔名存儲,並通過一些網頁瀏覽器或者文本編輯器顯示。
示例如下:
Subject:標題
Date: Wed, 15 Dec 2004 10:05:01 +1000
Content-Type: multipart/related;
Content-Transfer-Encoding: quoted-printable
Content-Location: file://C:/fishier.html
This is a multi-part message in MIME format.
Content-Type: text/html;
Title
...
Content-Type: image/gif
Content-Transfer-Encoding: base64
Content-Location: file://C:/image.gif
RHLJbDYX0KhHzv7yGcCgghhgHLJbDYX0KhHzv7yGcChkNdjn+Nfn+NXm98/i98rf9sfe9b/Z9L3X
87fU8qP8afL8AHzvfg7yGcChkNIwMZHLJbDYX0KhHzv37yGcChkNIw2Oj5AAAZIAlhAAACwAAAAA
er8JhHg8PhgQBrPZwG673+6CoUCv2+91gn5PGPT7fgOCg4SFhQKIiYoCAY2Oj5AAAZIAlJWXACEA
4SFh==
其中Subject为文档标题,Content-Type为文件的MIME属性,Content-Location为原始文件的地址,Content-Transfer-Encoding为编码格式。
参见
- Mozilla Archive Format
*
- RFC 2397
參考資料
评论 (0)