Qu'est-ce que le format de fichier MHTML ?
Un fichier .mhtml - également enregistré avec l'extension .mht - est une archive Web MIME HTML qui regroupe une page Web entière dans un seul document portable. Il encapsule le balisage .html de la page avec toutes ses images, feuilles de style et scripts, stockant chaque ressource comme une partie MIME distincte au sein du même fichier.
Le format emprunte la même structure de message multipartie utilisée par les fichiers d'e-mail .eml. Les ressources intégrées sont encodées en Base64 ou en « quoted-printable », permettant aux actifs binaires de voyager à l'intérieur d'un conteneur en texte brut. Comme il n'y a pas de nombre magique binaire, un fichier .mhtml peut être ouvert dans n'importe quel éditeur de texte ; il commence par des en-têtes de style e-mail tels que MIME-Version: 1.0, Content-Type: multipart/related; boundary=..., Subject:, et Date:.
Internet Explorer a popularisé le format via son option d'enregistrement « Archive Web, fichier unique (.mht) ». Aujourd'hui, Google Chrome (depuis la v74), Microsoft Edge (basé sur Chromium) et Opera prennent tous en charge nativement l'enregistrement de pages au format .mhtml. Microsoft Word peut également ouvrir et exporter des documents dans ce format.
Sur macOS et iOS, Safari utilise par défaut le format .webarchive à la place. Firefox ne prend pas en charge nativement l'enregistrement de pages en .mhtml ; des extensions de navigateur comblent ce manque. La prise en charge par les navigateurs Android reste irrégulière.
- Pour enregistrer une page en
.mhtmldans Chrome ou Edge : Fichier → Enregistrer la page sous → Page Web, fichier unique - Pour inspecter la structure brute : ouvrez-le dans n'importe quel éditeur de texte brut - toutes les limites MIME et les en-têtes sont lisibles
Sécurité et sûreté
RISQUE : MEDIUMUn fichier .mhtml intègre tout ce que la page d'origine contenait, y compris du JavaScript, qui peut s'exécuter lors de l'ouverture du fichier dans un navigateur - traitez donc un MHTML provenant d'une source non fiable comme n'importe quelle page Web suspecte : n'ouvrez pas les fichiers inattendus et préférez la conversion en PDF (qui supprime les scripts actifs) pour une consultation sécurisée. Les fichiers MHTML sont également utilisés pour le phishing : les attaquants envoient une pièce jointe de page enregistrée qui affiche localement un faux formulaire de connexion convaincant pour contourner les filtres d'URL, soyez donc méfiant vis-à-vis des pièces jointes .mht/.mhtml non sollicitées demandant des identifiants. Le fichier lui-même est un texte inerte sur le disque ; le risque réside dans ce que ses scripts/formulaires font une fois affichés.
Détails du format
en brefProgrammes qui ouvrent les fichiers MHTML
Détails techniques
spécifications approfondies| Format de conteneur | Message MIME multipart/related - le document HTML principal plus toutes les ressources de la page (images, CSS, scripts) intégrées en tant que parties MIME distinctes dans un seul fichier |
| Encodage du fichier | Texte brut UTF-8 ; les ressources binaires (images, polices) sont encodées en Base64 ou en quoted-printable dans chaque partie MIME |
| Signature de fichier | Pas d'octets magiques binaires - le fichier s'ouvre avec des en-têtes de style e-mail en texte brut : `MIME-Version: 1.0` suivi de `Content-Type: multipart/related` |
| Type MIME principal | `multipart/related` ; chaque sous-ressource intégrée porte son propre type MIME (ex: `image/jpeg`, `text/css`) |
| Extension alternative | `.mht` - format identique ; utilisé par l'option d'enregistrement « Archive Web, fichier unique » d'Internet Explorer et pris en charge par les mêmes applications |
| Surcoût de taille | L'encodage Base64 des actifs binaires augmente la taille du fichier d'environ 33 % par rapport à la somme des tailles des ressources originales |
| Délimiteur de partie | Chaque ressource intégrée est délimitée par une chaîne de caractères unique déclarée dans l'en-tête de haut niveau `Content-Type: multipart/related; boundary=...` |
| Support d'enregistrement navigateur | Google Chrome (v74+), Microsoft Edge (Chromium) et Opera enregistrent nativement les pages en `.mhtml` ; Firefox nécessite une extension tierce |
| Origine des scripts | Les scripts à l'intérieur d'un fichier `.mhtml` s'exécutent avec une origine `null` dans les navigateurs basés sur Chromium ; le CORS bloque les requêtes réseau cross-origin effectuées par la page |
| Support Microsoft Office | Microsoft Word et Excel peuvent ouvrir et enregistrer des fichiers au format `.mhtml`, en intégrant le balisage XML Office à l'intérieur du conteneur MIME |
| Inspectabilité | Entièrement lisible par l'homme dans n'importe quel éditeur de texte brut - les en-têtes de parties MIME, les URL `Content-Location` et les données encodées en Base64 sont tous visibles sous forme de texte |
| Gestion des ressources hors ligne | Les ressources capturées au moment de l'enregistrement sont intégrées ; toute URL externe non récupérée lors de l'enregistrement est uniquement référencée par `Content-Location` et reste indisponible hors ligne |
| Déclaration du jeu de caractères | L'encodage de la partie HTML est déclaré à la fois dans l'en-tête MIME `Content-Type` et dans la balise HTML `<meta charset>` ; l'UTF-8 est la norme |
| Alternative macOS/iOS | Apple Safari et iOS WebKit enregistrent les pages au format `.webarchive` (un format plist binaire) plutôt qu'en `.mhtml`, le partage multiplateforme peut donc nécessiter une conversion |
| Relation avec le format e-mail | Structurellement identique à un message électronique (RFC 2822) ; un fichier `.mhtml` peut être renommé en `.eml` et ouvert dans de nombreux clients de messagerie |
| Publié | RFC 2557 (1999); popularized by Internet Explorer's 'Web Archive, single file (.mht)' |
| Standard ouvert | Oui · libre de droits |
| Spécification | www.rfc-editor.org |
Conversions MHTML
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers MHTML.