MHTML

introductie

Joost van Meeteren


MHTML - Inleiding

MHTML-bestanden (MHTML = MIME-HTML; MIME = Multipurpose Internet Mail (Multimedia) Extensions) zijn zogenaamde gecombineerde webpagina-bestanden die ook wel web-archieven worden genoemd.
Deze bestanden voeren de extensie .html (eventueel de extensie .mht of .mhtml - alleen Firefox staat deze extensies in combinatie met de add-on UnMHT toe) en dragen de data van afbeeldingen in zich mee.

In het hier getoonde gecombineerde webpagina-bestand zijn alle elementen van een website / webpagina, dat wil zeggen niet alleen de (opgemaakte) tekst, maar ook de afbeeldingen (waaronder een achtergrond-afbeelding / watermerk), in één bestand tesamen opgeslagen.


Normaliter worden afbeeldingen (gif, jpeg, png) als externe bestanden ge-embedded via de img-tag (<img style="width: 100px; height: 75px; border: 0px" src="../foto's/afbeelding.jpg" alt="afbeelding.jpg" />) in webpagina's. En het element background-image:url('...') binnen de body-tag (<body style="background-image:url'foto's/achtergrond.gif')" ) is er dan om een externe (gif- of jpeg-)achtergrond-afbeelding / watermerk te tonen in de webpagina.


MHTML is op zich niet zo zinvol om te gebruiken als standaard-format voor websites. Het maakt webpagina's vooral omvangrijk als er meerdere (grote) afbeeldingen in worden ingevoegd. Vooral als bepaalde plaatjes vaker binnen een website worden gebruikt, moeten die in elk MHTML-bestand opnieuw geplaatst worden. Bij (X)HTML wordt een plaatje eenmaal op de server geplaatst om dan in meerdere bestanden te kunnen worden geladen via de img-tag. Dat spaart ruimte in de webbestanden én op de server.


Wanneer is het gebruik van MHTML dan wel zinvol? Ten eerste als u dus emails met een achtergrond-logo wilt versturen. Aan een gewoon email-bericht in Thunderbird of Outlook kunt u een achtergrond-bestand toevoegen, maar dan krijgt de ontvanger die afbeelding als losse bijlage meegestuurd. En dat is niet de bedoeling.

En verder als u aan iemand een voorbeeld-webpagina met afbeeldingen per email wilt toesturen, is deze methode handig. Want in dat geval hoeft u niet een HTML-bestand met één of meerdere afzonderlijke afbeeldings-bestanden te sturen. Door de afbeeldingen in te bouwen volstaat één webpagina om te versturen.


MHTML - Info op het internet

Op de volgende webadressen vindt u uitgebreide informatie over MHTML: http://en.wikipedia.org/wiki/MHTML (MHTML stands for MIME HTML. ...), http://www.cs.vu.nl/rest/handleiding-nl.html#Hoe%20werkt%20mhtml (Hoe werkt mhtml) en http://www.dsv.su.se/~jpalme/ietf/mhtml.html (Short Summary of the MHTML Standard).


MHTML - Voorbeeld met inline images

Als alternatief voor het HTML-bestand met embeddede afbeeldingen is er de webpagina met zogenaamde 'inline images'.

Zo'n afbeelding wordt als ascii-code (dit als resultaat van transformatie uit de binaire code van de GIF-of JPG-afbeelding naar ascii-tekens) binnen de <img src="data:image/gif;base64,[ascii-tekens van het plaatje]" alt="Base64 encoded image" width="150" height="150"/>-tag geplaatst.

Voor een achtergrond-afbeelding / watermerk wordt de <body>-tag als volgt ingevuld: <body background="data:image/gif;base64,[ascii-tekens van het achtergrond-plaatje]" style="background-attachment: fixed">.

De weergave van deze 'HTML-inline images' worden door Chrome 88.0.4324.104 (64-bit), Firefox 88.0 (64-bit), Safari , Internet Explorer 9 en Opera 73.0.3856.344 (64-bit) volledig ondersteund.


Hier kunt u een HTML-pagina met 'inline images' laden: Versie met .html.

En hier kunt u dezelfde pagina openen, maar nu met een .mht- / .mhtml-extensie: Versie met .mht / Versie met .mhtml.


Op de volgende webadressen vindt u informatie over 'inline images': http://nl.wikipedia.org/wiki/Inline_image, http://dean.edwards.name/my/base64-ie.html en http://tmp.tryba.nl/inline/.


Joost van Meeteren Websites & Fotografie
2002-2021 © Joost van Meeteren, Bennekom NL
Laatste update: woensdag 21 april 2021 om 08:14