📖
Next.js

Middleware

Função Edge que intercepta requests antes de chegar na rota. Para auth, redirects, headers.

📚 O que é

Roda em Edge Runtime (V8 isolate, CDN global). Executa ANTES de SSG/SSR/Route Handler. Pode redirecionar, reescrever URL, modificar headers/cookies. Configure matcher para filtrar rotas.

✅ Quando usar

Autenticação e autorização. Redirects baseados em auth/geolocation/A-B testing. Adicionar headers de segurança (CSP, HSTS). Internacionalização (locale routing).

🚫 Quando NÃO usar

Operações pesadas ou que requerem Node.js completo. Queries diretas ao banco (use Server Component). Lógica de negócio complexa.

👍 Prós
Roda no edge (baixa latência global)
Antes de qualquer render
Controle total do request/response
Suporte a cookies/headers
👎 Contras
Edge Runtime = APIs limitadas
Sem Node.js modules
Sem Prisma/drivers de DB diretos
Cada request tem overhead
🔗 Termos relacionados