Middleware — единственный pre-cache hook, но налог на каждый request, без Node/БД, не security gate, один файл — global blast radius.
Разбор
- Only pre-cache hook. Redirect logged-out от static page без dynamic render — больше никто в framework.
- Taxes every request. 30 ms middleware на 5 ms cache hit = 7× slower. Budget single-digit ms; never
await own API.
- No Node runtime, realistically. Node middleware opt-in, теряет «runs everywhere instantly». DB → route handler или Server Component.
- Don't use for authorization. Cookie presence ≠ permission. Spoofable internal header bypass middleware — security model только на middleware = one header от no gate.
- One file, global blast radius. Redirect logic всех команд в одной function — router-shaped monolith без ownership.
Итог
Trade-off: UX redirect на static vs latency cost; auth и heavy logic — ниже по stack, не в middleware.