Vídeo e legendas · Downloader direto de mídia
Como um navegador baixa um arquivo de um link direto com fetch e Blob
· Como funciona
downloads APIs do navegador corpo
Percorre o pipeline que uma ferramenta de navegador usa para transformar um link direto em um arquivo salvo: busque os bytes, mantenha-os como um Blob e entregue-os ao atributo de download. Explica por que nenhum servidor é necessário em nenhuma etapa.
O link abre um player em vez de salvar um arquivo – clicar em um link direto MP4 ou MP3 geralmente o reproduz inline, que é o problema que um downloader resolve
Clicar em um link direto MP3 pode abrir um player porque o navegador sabe como jogar esse tipo MIME. Salvar os mesmos bytes é uma ação separada. A palavra-chave é direta: um link para uma resposta de arquivo real, não uma página da web contendo um player ou um manifesto listando segmentos de mídia. ToolAcre faz essa distinção antes de oferecer um download e não finge que uma página URL é um arquivo URL.
Etapa um: fetch() solicita os bytes ao host — como é uma solicitação GET para o host anunciado e o que retorna
Depois de escolher Verificar link, o navegador pode emitir uma solicitação HEAD para o URL que você forneceu para inspecionar status, tipo e comprimento. A busca do arquivo usa uma solicitação GET para esse host, não um proxy ToolAcre. A solicitação omite deliberadamente as credenciais, portanto, um host que exige seu login pode recusá-la. O servidor remoto também deve permitir leituras de scripts de origem cruzada; se CORS bloquear o acesso, a ferramenta explica a recusa em vez de contorná-la por meio de um relé oculto. Um redirecionamento pode alterar o destino, portanto verifique o host anunciado.
Etapa dois: o corpo da resposta se torna um Blob — como os bytes são coletados na memória e por que o Blob carrega um tipo MIME
O corpo da resposta é lido como um fluxo de blocos de bytes. O progresso pode usar Content-Length quando o host o expõe; sem um comprimento conhecido, a ferramenta pode mostrar os bytes recebidos, mas não uma porcentagem confiável. Ele impõe um limite máximo de memória ao coletar pedaços e, em seguida, monta um Blob com o tipo de conteúdo retornado. Isso é mais seguro do que chamar response.blob() em um stream ilimitado, mas não é um streaming de memória zero para o disco: o Blob concluído ainda ocupa espaço na sessão do navegador.
Etapa três: URL.createObjectURL e o atributo de download — como um blob temporário: URL mais uma âncora aciona a caixa de diálogo para salvar
Um Blob são dados na memória, não um endereço da Internet. O navegador pode criar um blob temporário: objeto URL e anexá-lo a uma âncora com um nome de arquivo de download; clicar nessa âncora solicita ao navegador que salve os bytes. O nome do arquivo pode vir de um cabeçalho Content-Disposition ou do caminho URL em vez do título da página. Como o link agora é um Blob URL da mesma página, o navegador pode salvar o resultado sem hospedá-lo em ToolAcre. Ainda é aconselhável inspecionar a extensão e o tipo MIME antes de abrir um arquivo de uma fonte desconhecida.
Exemplo resolvido: salvar um episódio de podcast do link do anexo - seguindo um MP3 de URL colado em um arquivo no disco
Imagine um editor de podcast expondo um anexo autorizado URL terminando em episódio.mp3. Cole o endereço exato, inspecione o host anunciado e use o link Verificar. Se HEAD for permitido, poderá mostrar áudio/mpeg e uma contagem de bytes esperada; Fetch então pede ao editor os MP3 bytes, transmite-os em um Blob e salva o episódio.mp3. Se o host omitir os cabeçalhos CORS, o navegador poderá reproduzir o link em sua própria aba enquanto esta página não poderá buscá-lo por script; “Salvar link como” pode então ser o caminho correto. O direito do usuário de salvar o arquivo é independente do fato de seu servidor permitir tecnicamente buscá-lo.
Limpeza: revogando o objeto URL e liberando memória — por que um downloader bem construído libera o Blob após a conclusão do salvamento
URLs de objetos temporários mantêm referências aos seus Blobs de apoio. Um downloader que deixa cada URL ativo pode reter arquivos grandes em uma guia de longa duração. O utilitário de download compartilhado de ToolAcre cria um URL local para a ação de salvar e a revoga quando terminar; o cancelamento libera o leitor de resposta e descarta pedaços parciais. Para arquivos muito grandes, um download comum do navegador do host é mais adequado do que coletar a resposta inteira na memória da página.
O que isso não cobre: URLs de páginas, manifestos de streaming, DRM e links que precisam de login
Esta ferramenta não encontrará mídia oculta atrás de uma página de vídeo, analisará manifestos HLS/DASH .m3u8 ou .mpd, ignorará DRM, falsificará cabeçalhos ou acessará um fluxo protegido por sessão. Ele não baixa conteúdo privado para você e não decide se uma licença concede permissão para copiar um arquivo. Um erro 403, um redirecionamento para uma página de login ou um erro CORS é um limite a ser entendido, não uma dica para procurar um proxy não documentado.
Conclusão: três APIs de navegador, sem servidor — como o Direct Media Downloader aplica esse pipeline ao link que você cola
O pipeline é buscado no host fornecido → recebe pedaços → cria um Blob → aciona um download local. Nenhuma retransmissão ToolAcre está envolvida, mas uma solicitação real ao host terceiro está absolutamente envolvida; seus logs podem ver a conexão. O Direct Media Downloader anuncia esse contato antes de realizá-lo e informa quando as regras de segurança do navegador recusam uma leitura de origem cruzada.