MHTML

网页存档格式

網頁封存檔(英語:MIME HTMLMIME Encapsulation of Aggregate HTML Documents,縮寫mhtml)是種儲存檔案格式,在RFC 2110中定義,後經RFC 2557修訂。微軟稱之單一檔案網頁單個文件網頁(Single-File Web Page)[1][2][3]

MHTML
IE使用的圖示
副檔名
.mht, .mhtml
網路媒體型式
multipart/related
application/x-mimearchive
格式類型標示語言
延伸自HTML
標準RFC 2557(1999年推薦)

其以多用途網際網路郵件擴展格式,應用HTML郵件訊息相同技術開發,將一個多附件網頁(如包含大量圖片Flash動畫Java小程式的網頁)儲存成單一檔案[4],副檔名為.mhtIE)或.mhtmlChromium),支援瀏覽器對此兩種副檔名皆可設定讀取。由於IE最早使用,有時被簡稱MHT。

與HTML差異

編輯

HTML頁面中的圖形和其他功能可以分開存放,需要原始檔案上參照,也可以通過data URI scheme等途徑嵌入其中。MHTML則把網頁及其附件皆儲存為單一檔案。

建立及編輯

編輯

Microsoft OfficeWord[4]ExcelPowerPointAccess)能夠建立及編輯MHTML檔案。

Linux平台上,程式kmhtConvert可將檔案轉換為MHTML格式。

瀏覽器的支援

編輯

有些瀏覽器具有原生的這種把網頁儲存為MHTML的方式,而有些瀏覽器可直接通過第三方的擴展支援MHTML格式。由於儲存為MHTML的方式未經標準化,因此各瀏覽器讀取的效果略有不同。

Internet Explorer

編輯

Microsoft Internet Explorer自5.0版支援MHTML格式,是第一個支援MHTML檔案的瀏覽器。

Opera自9.0版支援把網頁儲存為MHTML檔案,或讀取MHTML檔案。[5]但基於WebKit/Blink的Opera 15卻未提供此功能,直到Opera 16才恢復。

現時通過opera://flags#save-page-as-mhtml啟用實驗性的選項。

Firefox

編輯

Firefox不支援讀寫MHT檔案。[6]在57.0之前有兩個這樣的擴展是免費提供的,如Mozilla Archive Format頁面存檔備份,存於網際網路檔案館)、UnMHT

Google Chrome

編輯

Chrome 86版中,建立MHTML檔案的功能已預設啟用。

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 +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;
<HTML>
 <HEAD>
  <TITLE>Title</TITLE>
 </HEAD>
 <BODY>
   ...
 </BODY>
</HTML>

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為編碼格式。

參見

編輯

參考資料

編輯
  1. ^ "Missing file" error with a web page file. Microsoft Docs. 2020-06-12. (原始內容存檔於2020-06-21) (英語). 
  2. ^ 網頁檔案出現「遺失檔案」錯誤. Microsoft Docs. 2020-06-13. (原始內容存檔於2020-06-21) (中文(臺灣)). 
  3. ^ 包含网页文件的 "缺少文件" 错误. Microsoft Docs. 2020-06-13. (原始內容存檔於2020-06-19) (中文(中國大陸)). 
  4. ^ 4.0 4.1 David J. Clark. The Unofficial Guide to Microsoft Office Word 2007. John Wiley & Sons. 2008. ISBN 9780470377437. 
  5. ^ Santambrogio, Claudio. …and one more weekly!. Opera Software. 10 March 2006 [2009-05-15]. (原始內容存檔於2006-03-21). 
  6. ^ Bug 40873 - Save as rfc 2557 MHTML; complete webpage in one file. [2018-10-23]. (原始內容存檔於2020-12-15).