MHTML

MIME Encapsulation of Aggregate HTML (MHTML) は、MIMEのマルチパートを利用することで、元となるHTML文書と、それからリンクされる画像や動画などのリソースを1つのデータとしてまとめるフォーマットである。電子メールでの利用を想定しているが、ウェブページを一つのファイルとして保存する用途にも用いられている。
概要.
MHTMLは、RFC 2110 で定義され、その後 RFC 2557 の改訂をうけている。
現在の多くのHTML文書は、元となるHTMLと、URIによって参照される画像や動画などで構成されている。これらのリソースは別々のデータとして存在する。
一方、それまでのHTMLを用いた電子メールではHTML本体のみしか扱うことが出来なかった。
MHTMLはMIMEのマルチパートを用いることで、元のHTMLと他のリソースを纏め、一通の電子メールで完全なHTMLマルチメディア文書を転送できるようにしたフォーマットである。
MIMEのフォーマットに則っているため、US-ASCII以外のテキストデータや画像などのバイナリデータはQuoted-printableかBase64でエンコードする。
現在のHTMLメール対応を謳うメールソフトの多くは、このMHTMLを扱うことが出来る。
電子メール以外での利用.
RFC 2557 は、MHTMLは電子メール以外のプロトコル (HTTPやFTP) でも一度に転送出来ることや、完全なHTML文書のアーカイブとして保存出来ることを示唆している。
事実、1999年3月のInternet Explorer 5でウェブページをアーカイブするフォーマットとして採用された。これは RFC 2557 の発行時期とほぼ一致する。
ウェブページをMHTMLで保存できる機能をもつ実装系は、Internet Explorerの他、Microsoft Office (Word、Excel、PowerPoint、Access)、Opera、Vivaldiなどがある。Mozilla Firefox、Google Chromeでも設定をしたり、拡張機能を導入することで扱えるようになる。
ただし、ブラウザ側が大規模なアップデートを行った場合など、拡張機能側がアップデートし対応するまでの間、使用できない事がある。例えばFirefoxのアドオンとして「UnMHT」というものがあるが、2017年11月25日時点の最新バージョンである8.3.2は、2017年11月14日にリリースされたFirefox 57には対応しておらず、扱う事が出来ない。