Pular para o conteudo principal

Prefetch, preload e preconnect: quando cada um ajuda

Os três parecem parentes, mas resolvem atrasos diferentes no carregamento.

Andrews Ribeiro

Andrews Ribeiro

Founder & Engineer

O problema

Quando alguém descobre resource hints, costuma acontecer uma explosão de entusiasmo.

De repente a página ganha:

  • preload
  • prefetch
  • preconnect

às vezes tudo junto, para vários recursos.

Isso parece otimização sofisticada.

Muitas vezes é só prioridade confusa em formato HTML.

Modelo mental

Essas técnicas atuam em momentos diferentes.

Pensa assim:

  • preconnect: “vou falar com esse host em breve, então já prepara a conexão”
  • preload: “esse recurso é crítico e eu quero começar a baixá-lo cedo”
  • prefetch: “isso provavelmente será útil depois, então posso buscar com prioridade mais baixa”

Se quiser uma frase curta:

Os três antecipam alguma coisa, mas cada um antecipa uma parte diferente do caminho.

Quebrando o problema

Preconnect

Preconnect serve para reduzir o custo inicial de falar com uma origem externa.

É útil quando você sabe que vai precisar daquele host e a conexão custa tempo relevante.

Exemplos comuns:

  • CDN de imagem
  • fonte externa
  • domínio de recurso crítico

Ele não baixa o recurso em si.

Ele só adianta a etapa de conexão.

Preload

Preload diz ao navegador:

“esse recurso é importante, comece isso cedo.”

Ele é útil para recursos realmente críticos, como:

  • imagem hero
  • fonte essencial
  • CSS ou asset necessário para renderização importante

O risco de usar mal é simples:

você força competição por banda e prioridade com outros recursos igualmente ou mais importantes.

Prefetch

Prefetch olha mais para o futuro.

É o caso de:

  • próxima rota provável
  • recurso de interação seguinte
  • conteúdo que não é necessário agora, mas logo pode ser

Como costuma ter prioridade menor, ele tende a ser menos agressivo.

Mas ainda assim pode desperdiçar tráfego se a suposição estiver errada.

O erro clássico: tratar os três como atalho universal

Nenhum deles substitui leitura do caminho crítico.

Se você não sabe:

  • qual recurso importa agora
  • qual recurso importa depois
  • qual host realmente pesa

então provavelmente vai usar hint demais no lugar errado.

Exemplo simples

Imagine uma página com:

  • hero image vinda de CDN externa
  • fonte de host separado
  • próxima navegação provável para uma página de checkout

Uma leitura madura pode ser:

  • preconnect para a CDN ou host de fonte se isso de fato estiver no caminho crítico
  • preload para a hero image se ela for LCP
  • prefetch para recurso da próxima rota se houver alta chance de navegação

Agora compare com uma leitura ruim:

“Vou colocar preload, prefetch e preconnect em tudo que parecer importante.”

Isso só embaralha prioridade.

Erros comuns

  • Usar preload em excesso e disputar rede com outros recursos críticos.
  • Aplicar prefetch em recurso que o usuário talvez nunca use.
  • Achar que preconnect baixa conteúdo.
  • Colocar as três dicas sem saber qual atraso está tentando reduzir.
  • Otimizar hint antes de entender o carregamento básico da página.

Como um senior pensa

Quem pensa melhor sobre isso não começa pelo atributo HTML.

Começa pelo caminho:

  • há custo de conexão relevante?
  • qual recurso precisa começar cedo?
  • o que é para agora e o que é para depois?

Isso evita transformar hint em superstição.

Senioridade aqui é enxergar prioridade de recurso como orçamento finito.

Se você dá urgência demais para muita coisa, ninguém continua urgente.

O que o entrevistador quer ver

Ele quer ver se você:

  • sabe diferenciar conexão, download crítico e antecipação futura
  • entende que prioridade é um trade-off
  • consegue conectar o hint ao fluxo do usuário
  • evita resposta de checklist sem contexto

Se você disser “usaria preload só no que realmente entra no caminho crítico atual, e prefetch no que é provável para a próxima navegação”, já está mostrando critério.

Resource hint bom empurra o recurso certo no momento certo. Hint demais vira ruído.

Não adianta acelerar tudo ao mesmo tempo. O navegador também precisa de ordem.

Resumo rápido

O que vale manter na cabeça

Checklist de pratica

Use isto ao responder

Você concluiu este artigo

Próximo artigo SSR vs SSG vs ISR Artigo anterior Image optimization na prática: formatos, lazy loading e CDN

Continue explorando

Artigos relacionados