Navegador da web

O que precisa acontecer antes de uma página da web te entregar o arquivo dela

Você está vendo o vídeo. Ele está tocando, ali mesmo, no navegador da web. Então por que não tem como guardar? A resposta é que uma página da web raramente entrega um arquivo — ela entrega instruções, e o arquivo que o navegador monta a partir delas pode não existir como uma coisa única.

7 min de leitura Atualizado 29 de julho de 2026

FoxDL

Quatro jeitos de uma página entregar vídeo, e só um deles é um arquivo

O mais antigo e mais simples é um arquivo direto: a página aponta para um endereço terminando em .mp4 e o navegador busca. Se você conseguir achar esse endereço, você tem o arquivo. Ainda é assim que a maioria dos sites menores, fóruns, veículos de notícia e servidores de arquivo funcionam.

O segundo é o streaming adaptativo — HLS ou DASH. A página carrega uma playlist que lista centenas de segmentos curtos em vários níveis de qualidade, e o player os costura conforme avança, trocando de qualidade quando a sua conexão muda. Não existe um arquivo único para achar. Salvar significa buscar cada segmento e reconstruir um arquivo a partir deles.

O terceiro é uma URL de blob. A página já buscou os dados com JavaScript e entregou ao player uma referência a algo que vive na memória do próprio navegador. O endereço que você consegue ver (blob:https://…) não tem significado fora daquela página e daquela sessão — ele não pode ser aberto, compartilhado nem baixado, e isso derruba a maioria dos “localizadores de vídeo” ingênuos.

O quarto é conteúdo protegido: segmentos criptografados reproduzidos através de um sistema de DRM, em que a chave de descriptografia é emitida para o navegador sob condições que proíbem explicitamente guardar uma cópia. Isso não é um obstáculo para ser contornado; é o mecanismo sobre o qual um contrato de licença é construído, e nenhuma ferramenta legítima o derrota.

Como um navegador da web percebe que existe algo para salvar

Um navegador da web dentro do app que se oferece para salvar o que encontra está fazendo vários trabalhos ao mesmo tempo. Cada um pega um caso que os outros deixam passar.

Ler os elementos de mídia da página
Percorrer o documento em busca de tags <video>, <audio> e <source> e ler os endereços delas. Pega o caso do arquivo direto na hora, e deixa passar tudo o que foi construído por JavaScript depois de a página carregar.
Olhar dentro do shadow DOM
Os players modernos são elementos personalizados cujas partes internas são deliberadamente isoladas da página. Uma busca que para no documento comum vê uma caixa vazia onde está o vídeo.
Observar o que a página de fato pediu
O navegador sabe todo recurso que uma página buscou. Um arquivo de mídia que foi carregado — independentemente de qual script pediu, ou quando — aparece aqui mesmo que nada na página visível aponte para ele.
Farejar o tipo da resposta
Uma URL terminando em .php pode devolver um vídeo, e uma URL terminando em .mp4 pode devolver uma página de erro. O Content-Type que o servidor realmente mandou é o que diz qual é qual — extensões são chute.

Como salvar de uma página se parece quando funciona

A ordem importa. A maior parte das falhas vem de pular o segundo passo e começar uma transferência de quatro gigabytes de uma página de login.

  1. Reproduza um segundo da mídia primeiro

    Muitas páginas não carregam nada até a reprodução começar. Dois segundos tocando muitas vezes são a diferença entre uma lista vazia de candidatos e uma lista cheia.

  2. Confira o que o candidato realmente é

    Antes de se comprometer, olhe o tamanho e o tipo informados. Um “filme” de 14 KB é uma página HTML. Um tipo text/html onde você esperava video/mp4 significa que você pegou o link errado.

  3. Escolha a qualidade que você quer

    Um stream normalmente oferece várias. A mais alta não é sempre a resposta certa num celular, onde a diferença é invisível e o armazenamento não é.

  4. Deixe a sessão ir junto

    Links protegidos checam quem está pedindo: os cookies da sua sessão logada, a página que te encaminhou, às vezes a identidade do navegador. Um download começado sem isso recebe um 403 mesmo que a página tenha tocado sem problema.

  5. Verifique o que chegou

    Abra. Um arquivo que toca por dois segundos e para foi cortado — normalmente um link expirado — e vale recomeçar em vez de guardar.

O que um navegador da web dentro do app tem que acertar

Além de encontrar a mídia, estas são as coisas que decidem se o download realmente termina.

  • Levar a sessão até o download

    Cookies, referer e user agent têm que viajar junto com a requisição. Sem eles, um link protegido resolve na página e falha no downloader.

  • Manter essas credenciais fora do armazenamento

    Cookies de sessão valem tanto quanto uma senha pelo tempo da sessão. Eles pertencem à memória enquanto a transferência durar e a lugar nenhum além disso — não a um banco de dados, não a um log.

  • Recusar entregar o link para outro app

    O iOS abre com alegria um link tocado em outro app se aquele app reivindicar aquele domínio. Um navegador da web feito para salvar mídia precisa cancelar e refazer a navegação ele mesmo, ou a página que você queria desaparece dentro do app de outra pessoa.

  • Enxugar a página antes de ela ser desenhada

    Um bloqueador de conteúdo aqui não é só sobre anúncio — menos rastreadores e sobreposições significam menos candidatos falsos na lista de mídia.

  • Lidar com documentos além de vídeo

    PDFs, ZIPs e arquivos do Office são a outra metade do que as pessoas salvam da web, e deveriam cair na mesma biblioteca de todo o resto.

Perguntas que as pessoas fazem

Por que o Safari não consegue fazer isso sozinho?

O Safari baixa arquivos — desde o iOS 13. O que ele não faz é inspecionar uma página em busca de mídia que está sendo transmitida em vez de vinculada, nem reconstruir um stream segmentado num arquivo. Ele é um navegador da web, e esse trabalho pertence a um gerenciador de downloads.

O que é uma URL de blob e por que eu não consigo baixá-la?

É um identificador para dados que a página já guarda na memória. Ela não existe fora daquela aba, então colar isso em qualquer lugar não produz nada. A mídia por baixo foi buscada de algum lugar real, e é esse endereço — não o blob — que vale a pena encontrar.

A página toca sem problema mas o download recebe um 403. Por quê?

A requisição do download chegou sem as coisas que a página tinha: o seu cookie de sessão, a página que encaminhou, às vezes uma identidade de navegador correspondente. Os servidores usam exatamente essa combinação para distinguir um espectador de um raspador.

Tudo pode ser salvo?

Não, e isso é por projeto. Conteúdo protegido com DRM é criptografado com chaves emitidas sob uma licença que proíbe guardá-lo. Alguns sites também assinam cada segmento individualmente com tokens de vida curta. Os dois estão funcionando como pretendido.

FoxDL

O navegador da web dentro do FoxDL

É um navegador da web comum, com abas, cujo trabalho é colocar coisas na sua biblioteca em vez de ser o seu navegador do dia a dia.

  • Seis canais de detecção, incluindo shadow DOM e o registro do que a página de fato pediu, para que um player construído inteiramente em JavaScript continue visível.
  • O tipo real é farejado da resposta em vez de chutado pela extensão, e candidatos blob: que não podem ser buscados são filtrados em vez de serem oferecidos e falharem.
  • Cookies, referer e user agent são levados junto para o download, para que um link protegido resolva — e nenhum deles é jamais escrito no disco.
  • Um bloqueador de conteúdo enxuga a página antes de ela ser desenhada.
  • PDFs, ZIPs e documentos são salvos na mesma biblioteca da mídia, com um toque.
  • Abas, favoritos e uma página inicial com os seus próprios atalhos.

O FoxDL não fornece conteúdo próprio. O que você salva é o que você trouxe, e você é responsável por ter o direito de guardar.

Perguntas frequentes

Todas as perguntas

Continue lendo

Sua biblioteca, enfim em um lugar só.

Download grátis. Sem conta nem cadastro; o conjunto completo está na versão gratuita.

Baixe na App Store