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:
preconnect
:
prefetch
:
preload
:
preconnect
,
prefetch
, e preload
preconnect
Estabelece conexões antecipadas com um servidor, economizando tempo quando o recurso for realmente necessário.
<link rel="preconnect" href="https://exemplo.com">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
crossorigin
para recursos que exigem permissões CORS (como fontes).prefetch
Pré-carrega recursos em segundo plano que podem ser necessários para navegações futuras.
<link rel="prefetch" href="https://exemplo.com/recurso.js" as="script">
<link rel="prefetch" href="/proxima-pagina.html" as="document">
<link rel="prefetch" href="/imagens/logo.png" as="image">
as
para especificar o tipo de recurso (script
, style
,
image
, document
, etc.).preload
para isso).preload
Carrega recursos críticos com alta prioridade, antes que o navegador os descubra naturalmente.
<link rel="preload" href="https://exemplo.com/recurso.css" as="style">
<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>
as
para especificar o tipo de recurso.crossorigin
e o atributo type
para garantir o carregamento
correto.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. |
Use preconnect
para recursos de terceiros:
dns-prefetch
para otimização adicional.Use prefetch
para navegações futuras:
Use preload
para recursos críticos:
Evite abusar:
<!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>