Введение
Формат файла веб-архива (формат MHTML)
MHTML (аббревиатура от "MIME encapsulation of aggregate HTML documents") — это формат файла веб-архива, используемый для объединения в одном компьютерном файле HTML-кода и связанных с ним ресурсов (например, изображений), представленных внешними гиперссылками в HTML-коде веб-страницы. Содержимое файла MHTML кодируется с использованием тех же технологий, которые изначально были разработаны для HTML-сообщений электронной почты, с использованием типа содержимого MIME multipart/related. Файлы MHTML используют расширения имени файла mhtml или mht. Первая часть файла представляет собой заголовок электронного письма. Вторая часть обычно содержит HTML-код. Последующие части — это дополнительные ресурсы, идентифицированные их исходными универсальными указателями ресурсов (URL) и закодированные в текстовое представление в формате base64. MHTML был предложен в качестве открытого стандарта и распространен в пересмотренном издании в 1999 году как RFC 2557. Расширения имен файлов mhtml (веб-архив) и eml (электронная почта) взаимозаменяемы: любое из этих расширений можно изменить на другое. Сообщение eml можно отправить по электронной почте и отобразить в почтовом клиенте. Сообщение электронной почты можно сохранить с расширением mhtml или mht, а затем открыть для просмотра в веб-браузере или для редактирования в других программах, включая текстовые процессоры и текстовые редакторы.
Поддержка браузера
Некоторые браузеры поддерживают формат MHTML напрямую или через сторонние расширения, однако процесс сохранения веб-страницы вместе с её ресурсами в файл MHTML не стандартизирован. В результате, веб-страница, сохранённая как файл MHTML в одном браузере, может отображаться иначе в другом.
Интернет-проводник
С версии 5.0, Internet Explorer стал первым браузером, поддерживающим чтение и сохранение веб-страниц и внешних ресурсов в единый файл MHTML.
Microsoft Edge (всего лишь один раз)
С переходом на исходный код Chromium, Edge поддерживает сохранение в формате MHTML.
Опера
Поддержка сохранения веб-страниц в виде файлов MHTML появилась в веб-браузере Opera 9.0. Начиная с Opera 9.50 и во всех последующих версиях Opera, основанных на движке Presto (в настоящее время Opera 12.16 по состоянию на 19 июля 2013 года), MHTML является форматом сохранения страниц по умолчанию. В первой версии новой Opera, основанной на Webkit/Blink (Opera 15), поддержка MHTML отсутствовала, но она была добавлена в последующих версиях (Opera 16 и новее). MHTML можно включить, введя "opera://flags#save page as mhtml" в адресную строку.
Google Chrome (всего лишь один)
Создание MHTML-файлов в Google Chrome включено по умолчанию, начиная с версии 86.
Яндекс-браузер
Создание MHTML-файлов (multipart/related) в Яндекс Браузере включено по умолчанию, начиная с версии 22.7.4.960 (июль 2022).
Вивальди
Как и Google Chrome, браузер Vivaldi на основе Chromium может сохранять веб-страницы в формате MHTML, начиная с версии 2.3. Он поддерживает как чтение, так и сохранение веб-страниц в формате MHTML, включив опцию "vivaldi://flags/#save page as mhtml".
Firefox (англ.)
Mozilla Firefox не поддерживает MHTML. До выхода версии 57 ("Firefox Quantum") файлы MHT можно было открывать и сохранять, установив расширение для браузера, например, Mozilla Archive Format или UnMHT.
Сафари
С версии 3.1.1 веб-браузер Safari от Apple Inc. больше не поддерживает формат MHTML нативно. Вместо этого Safari поддерживает формат webarchive, а версия для macOS включает функцию печати в PDF. Как и большинство других современных веб-браузеров, Safari может получить поддержку файлов MHTML с помощью различных сторонних расширений.
Победитель
С версии 3.5.7 веб-браузер Konqueror от KDE не поддерживает файлы MHTML. Для сохранения и просмотра файлов MHTML можно использовать проект расширения mhtconv.
ACCESS NetFront (доступ к сети)
NetFront 3.4 (на устройствах, таких как Sony Ericsson K850) может просматривать и сохранять файлы MHTML.
Бледная Луна
Pale Moon требует установки расширения для чтения и записи файлов MHT. Одно из таких расширений, MozArchiver, доступно бесплатно и является форком расширения Mozilla Archive Format.
Веб-пространство GNOME
GNOME Web добавил поддержку чтения и сохранения веб-страниц в формате MHTML, начиная с версии 3.14.1, выпущенной в сентябре 2014 года.
Зрители МТТ
Существуют коммерческие программные продукты для просмотра файлов MHTML и преобразования их в другие форматы, такие как PDF и ePub. Некоторые программы для редактирования HTML позволяют просматривать и редактировать файлы MHTML.
Запись шагов задачи
Регистратор действий для Windows может сохранять результаты своей работы в формате MHT.
Сохранить в расширении Google Диск
Расширение "Сохранить в Google Диск" для Google Chrome может сохранять страницы в формате MHTML, среди прочих вариантов.
Microsoft OneNote (всего один)
Microsoft OneNote, начиная с версии OneNote 2010, отправляет отдельные страницы в виде файлов mht по электронной почте.
Evernote (всегда)
Evernote для Windows может экспортировать заметки в формате MHT как альтернативу HTML или собственному формату enex.
Эксплойты
В мае 2015 года исследователь отметил, что злоумышленники могут создавать вредоносные документы, создавая файл MHT, добавляя объект MSO в конец (MSO – это формат файла, используемый приложением Microsoft Outlook для работы с электронной почтой), и переименовывая полученный файл в формат doc. Доставка осуществлялась бы через спам-сообщения. В апреле 2019 года исследователь в области безопасности опубликовал детали об уязвимости XML External Entity (XXE), которой можно воспользоваться при открытии файла MHT. Поскольку операционная система Windows по умолчанию настроена на автоматическое открытие всех файлов MHT в Internet Explorer, эксплойт мог быть активирован при двойном щелчке по файлу, полученному по электронной почте, через мгновенные сообщения или другим способом, включая использование другого браузера.
схема URI данных
Схема URI данных предоставляет альтернативный способ включения отдельных элементов, таких как изображения, таблицы стилей и скрипты, непосредственно в HTML-код при отправке HTML-запроса или сохранении HTML-ресурса для автономного использования. Подобно встроенному контенту в MHTML, URI данных используют кодирование Base64 внешних ресурсов (которые могут быть бинарными или текстовыми) для их встраивания непосредственно в HTML-разметку. HTML-страницы, сохраненные с внешними элементами, встроенными с помощью схемы URI данных, являются стандартными веб-страницами и могут быть открыты любым современным браузером, включая браузеры, не поддерживающие MHTML, например Mozilla Firefox. В отличие от MHTML, для сохранения веб-страниц с внешними ресурсами, встроенными с использованием URI данных, требуется установка стороннего расширения в браузере.
Формат архива Mozilla
Mozilla Archive Format (MAFF) — устаревший формат файлов веб-архива, который поддерживался Firefox с 2004 по 2018 год посредством расширения. В отличие от MHTML и URI данных, MAFF использует ZIP-контейнер для сохранения как HTML-файла, так и всех связанных с ним ресурсов. В октябре 2017 года разработчик расширения объявил о прекращении поддержки формата в будущих версиях Firefox.