um formato HTML de arquivo único eficiente e estático

um formato HTML de arquivo único eficiente e estático


Gwtar: um formato HTML de arquivo único com eficiência estática (via) Novo projeto fascinante de Gwern Branwen e Said Achmiz que visa o desafio de combinar um grande número de ativos em um único arquivo HTML arquivado sem que esse arquivo seja inconveniente para visualização em um navegador.

O principal truque usado é disparar window.stop() no início da página para evitar que o navegador baixe tudo e, em seguida, seguir essa chamada com conteúdo descompactado tar embutido.

Ele pode então fazer solicitações de intervalo HTTP para buscar conteúdo desses dados tar sob demanda quando for necessário para a página.

O JavaScript que já foi carregado reescreve URLs de ativos para apontar para https://localhost/ puramente para que eles não consigam carregar. Em seguida, ele usa um PerformanceObserver para capturar essas tentativas de carregamento:

let perfObserver = new PerformanceObserver((entryList, observer) => {
    resourceURLStringsHandler(entryList.getEntries().map(entry => entry.name));
});
perfObserver.observe({ entryTypes: ( "resource" ) });

Que resourceURLStringsHandler o retorno de chamada encontra o recurso se ele já estiver carregado ou o busca com uma solicitação de intervalo HTTP e, em seguida, insere o recurso no lugar certo usando um blob: URL.

Aqui está o que window.stop() parte do documento parece se você visualizar a fonte:

Captura de tela de uma janela de terminal do macOS intitulada "gw — mais big.html — 123×46" mostrando o código-fonte de um arquivo gwtar (arquivo HTML de extração automática). O código visível inclui JavaScript com requestIdleCallback(getMainPageHTML);, um bloco <noscript> com avisos: a "aviso de js desativado" afirmando "Esta página HTML requer que o JavaScript esteja habilitado para renderização, pois é um arquivo HTML gwtar auto-extraível," uma descrição de gwtar como "um arquivo HTML independente e portátil que é projetado para, no entanto, suportar carregamento lento e eficiente de todos os ativos, como grandes arquivos de mídia," com um link para https://gwern.net/gwtar, um "aviso de arquivo local" com um comando shell perl -ne’print $_ if $x; $x=1 if /<!-- GWTAR END/' < foo.gwtar.html | tar --extract e um "aviso de falha do servidor" sobre servidores mal configurados. Abaixo das tags de fechamento HTML e do comentário <!-- GWTAR END estão os dados binários do arquivo tar com o nome de arquivo 2010-02-brianmoriarty-thesecretofpsalm46.html, mostrando campos de cabeçalho tar preenchidos com nulos, incluindo ustar^@00root e valores de tamanho/permissão octais. Na parte inferior, um comentário de metadados SingleFile mostra o URL: https://web.archive.org/web/20230512001411/http://ludix.com/moriarty/psalm46.html e a data de salvamento: Sábado, 17 de janeiro de 2026, 19:26:49 GMT-0800 (horário padrão do Pacífico).

Curiosamente, para um formato de arquivo, ele não funciona se você abrir o arquivo diretamente em seu próprio computador. Aqui está o que você verá se tentar fazer isso:

Você está vendo esta mensagem, em vez da página que deveria estar vendo, porque gwtar arquivos não pode ser aberto localmente (devido a restrições de segurança do navegador da web).

Para abrir esta página em seu computador, use o seguinte comando shell:

perl -ne'print $_ if $x; $x=1 se /




Source link

Postagens Similares

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *