Qué es un archivo MHT
Cuando Internet Explorer, Word o la opción Guardar como MHTML de Chrome escribieron una página en un único archivo, produjeron un mensaje de correo según la RFC 2557. Un cuerpo multipart/related contiene el HTML más todas las imágenes, hojas de estilo y scripts a los que la página hacía referencia, cada parte etiquetada con la URL de la que procede. Es un formato perfectamente razonable que ya casi nada abre.
Cómo se renderiza
Las partes se separan, cada una se decodifica desde su codificación de transferencia (normalmente quoted-printable para texto y base64 para imágenes) y después se reescriben las referencias del HTML raíz. Ese último paso es el trabajo entero: cada src, href y url() de CSS sigue apuntando a la dirección absoluta original, así que sin reescribirlos la página se ve pelada. Cada referencia se empareja con la parte que se guardó para ella —por Content-Location, o por Content-ID en las referencias cid:— y pasa a apuntar a los bytes de esa parte.
No se descarga nada, no se ejecuta nada
La página reconstruida va a un iframe con sandbox="allow-same-origin" y nada más. No hay allow-scripts, así que ningún script del archivo puede ejecutarse.
Además se inyecta en la página una Content-Security-Policy de default-src 'none'. Esto importa más de lo que parece: cualquier referencia que el archivo no guardó sigue siendo una URL http absoluta después de la reescritura, y un navegador que la renderizara la descargaría sin avisar. La política lo impide. Solo se permiten URLs blob: y data:, es decir, las partes que están dentro del archivo.
Archivos incompletos
Los archivos web se guardan incompletos constantemente: una imagen de fondo declarada en una hoja de estilos que el guardador no siguió, una imagen de carga diferida, una tipografía en otro dominio. Esas referencias se cuentan y se listan. Si la página se ve mal, esa lista suele explicar por qué, y es una respuesta mucho mejor que un icono de imagen rota.
También se muestra
El asunto, la fecha en que se guardó la página y la URL original —el Content-Location de la parte raíz, que es de donde venía realmente la página—. Además, cada parte con su tipo MIME, su codificación de transferencia, su juego de caracteres declarado y su tamaño decodificado, y un conmutador para leer el código fuente del HTML raíz.
Privacidad
El archivo se abre en tu navegador. No se sube, y ni él ni la herramienta contactan con la red.
Tiny Online Tools







