O que são preconnect, prefetch, e preload?

Essas são diretivas que você pode adicionar ao HTML para otimizar o carregamento de recursos críticos e melhorar a experiência do usuário. Cada uma tem um propósito específico:

  1. preconnect:

  2. prefetch:

  3. preload:


Por que usar essas dicas?


Documentação: preconnect, prefetch, e preload

1. preconnect

O que faz?

Estabelece conexões antecipadas com um servidor, economizando tempo quando o recurso for realmente necessário.

Quando usar?

Sintaxe

<link rel="preconnect" href="https://exemplo.com">

Exemplo

<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

Dicas


2. prefetch

O que faz?

Pré-carrega recursos em segundo plano que podem ser necessários para navegações futuras.

Quando usar?

Sintaxe

<link rel="prefetch" href="https://exemplo.com/recurso.js" as="script">

Exemplo

<link rel="prefetch" href="/proxima-pagina.html" as="document">
<link rel="prefetch" href="/imagens/logo.png" as="image">

Dicas


3. preload

O que faz?

Carrega recursos críticos com alta prioridade, antes que o navegador os descubra naturalmente.

Quando usar?

Sintaxe

<link rel="preload" href="https://exemplo.com/recurso.css" as="style">

Exemplo

<link rel="preload" href="/styles/main.css" as="style">
<link rel="preload" href="/scripts/app.js" as="script">
<link rel="preload" href="/fonts/roboto.woff2" as="font" type="font/woff2" crossorigin>

Dicas


Comparação entre preconnect, prefetch, e preload

Diretiva Prioridade Uso
preconnect Média Estabelece conexões antecipadas com servidores externos.
prefetch Baixa Pré-carrega recursos para navegações.
preload Alta Carrega recursos críticos necessários no carregamento inicial da.

Boas Práticas

  1. Use preconnect para recursos de terceiros:

  2. Use prefetch para navegações futuras:

  3. Use preload para recursos críticos:

  4. Evite abusar:


Exemplo Completo

<!DOCTYPE html>
<html lang="pt-BR">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Exemplo de Otimização</title>

  <!-- Preconnect para fontes externas -->
  <link rel="preconnect" href="https://fonts.googleapis.com">
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>

  <!-- Preload para recursos críticos -->
  <link rel="preload" href="/styles/main.css" as="style">
  <link rel="preload" href="/scripts/app.js" as="script">
  <link rel="preload" href="/fonts/roboto.woff2" as="font" type="font/woff2" crossorigin>

  <!-- Prefetch para navegações futuras -->
  <link rel="prefetch" href="/proxima-pagina.html" as="document">
  <link rel="prefetch" href="/imagens/logo.png" as="image">

  <!-- CSS principal -->
  <link rel="stylesheet" href="/styles/main.css">
</head>
<body>
  <h1>Página Otimizada</h1>
  <script src="/scripts/app.js"></script>
</body>
</html>

Considerações Finais