The alternative format (used by the Internet Archive and Wayback Machine) is WARC. It's also a single file, but it's preserving the HTTP headers as well; so its applications is specifically for archival purposes. [1] The "wget" tool which is co-maintained by the Web Archive people also has support for it via CLI flags.
Though when it comes to mobile browser support I'd recommend to use MHTML, because webkit and chromium both have support for it upstream.
Though, on MacOS, WebKit tries to migrate most APIs to the Core Foundation Framework, which makes it kind of impossible to implement as a non-Apple-employee because it's basically a dump-it-and-never-care Open Source approach. [3]
Don't know about chromium (my knowledge is ~2012ish about their architecture, and pre-Blink).
[1] https://github.com/WebKit/WebKit/tree/main/Source/WebKit/Net...
[2] https://github.com/WebKit/WebKit/tree/main/Source/WebKit/Net...
I mean, in principal curl would run on the other platforms, too...but as far as I can tell there's an initiative to move as much as possible to the CF framework (strings, memory allocation, https and tls, sockets etc) and away from the cross-platform implementations.
Lemme see if I can pull up the command I use to mirror doc sites.
wget \
--recursive \
--level=5 \
--convert-links \
--page-requisites \
--wait=1 \
--random-wait \
--timestamping \
--no-parent \
$1[1]: https://opensource.apple.com/source/CF/CF-550/CFBinaryPList....
I have Waterfox-Classic and unMHT (fished out of the Classic Addons Archive, just remember to turn off Waterfox's multiprocess feature) since I occasionally need to archive web pages - and more importantly, reopen them later.
mhtml is just MIME, literally every discrete URL as a MIME part with its origin in a Content-Location header, all wrapped in a multipart container. I don't understand why it's not a default format.
Quantum was the the project name to re-engineer Firefox internals, with lots of design changes, not just plugins. XUL/XPCOM APIs were dropped, as an occasional programmer I understand why, "Quantum broke my plugins" is a reasonable first approximation for most users.
Well that goes to show its longevity I guess.
I thought MHTML was NOT standardized which is why it wasn’t across all browsers yet. From what I remember, every company was doing their own implementation of it. Maybe it’s gotten more standardized the last few years though.
I would also download entire websites using a software which name I forgot, to read them offline. Back when websites held in a single floppy disk.
Good times!