O que é um arquivo MHT
Quando o Internet Explorer, o Word ou a opção Salvar como MHTML do Chrome gravaram uma página num único arquivo, produziram uma mensagem de e-mail segundo a RFC 2557. Um corpo multipart/related guarda o HTML mais todas as imagens, folhas de estilo e scripts a que a página se referia, cada parte marcada com a URL de onde veio. É um formato perfeitamente razoável que quase nada abre hoje em dia.
Como é renderizado
As partes são separadas, cada uma é decodificada da sua codificação de transferência (normalmente quoted-printable para texto e base64 para imagens) e então as referências do HTML raiz são reescritas. Esse último passo é o trabalho inteiro: cada src, href e url() de CSS continua apontando para o endereço absoluto original, então sem reescrevê-los a página fica pelada. Cada referência é ligada à parte que foi salva para ela — por Content-Location, ou por Content-ID nas referências cid: — e passa a apontar para os bytes dessa parte.
Nada é buscado, nada é executado
A página reconstruída vai para um iframe com sandbox="allow-same-origin" e mais nada. Não há allow-scripts, então nenhum script do arquivo pode rodar.
Além disso, uma Content-Security-Policy de default-src 'none' é injetada na página. Isso importa mais do que parece: qualquer referência que o arquivo não guardou continua sendo uma URL http absoluta depois da reescrita, e um navegador ao renderizá-la a buscaria em silêncio. A política impede isso. Só URLs blob: e data: — as partes que estão dentro do arquivo — podem carregar.
Arquivos incompletos
Arquivos web são salvos incompletos o tempo todo: uma imagem de fundo declarada numa folha de estilos que o salvador não seguiu, uma imagem de carregamento tardio, uma fonte em outro domínio. Essas referências são contadas e listadas. Se a página parece errada, essa lista costuma explicar por quê, e é uma resposta muito melhor do que um ícone de imagem quebrada.
Também é mostrado
O assunto, a data em que a página foi salva e a URL original — o Content-Location da parte raiz, que é de onde a página realmente veio. Além disso, cada parte com seu tipo MIME, codificação de transferência, charset declarado e tamanho decodificado, e um alternador para ler o código-fonte do HTML raiz.
Privacidade
O arquivo é aberto no seu navegador. Não é enviado, e nem ele nem a ferramenta contactam a rede.
Tiny Online Tools







