Middleware — одна функция до cache на каждый matched request: без БД и Node API. Подходит для redirect, rewrite и header stamping; не для реальной authorization.
Разбор
Middleware — не server layer. Это request interceptor перед CDN cache, и позиция определяет всё поведение.
request → [ middleware ] → route cache → render → response
↑ runs on EVERY matched request, cached or not
↑ no DB drivers, no fs, ~few ms budget
Поскольку он бежит до cache lookup, это единственный код, видящий request, который иначе отдался бы как static file. Суперсила: redirect неавторизованного без de-optimize page в dynamic. Ловушка: каждая операция здесь — latency на каждый request, включая «гордые» static pages.
Что сказать
Middleware решает, куда идёт request; не решает, что request allowed делать. Routing, не authorization.
Итог
Думайте pre-cache hook с Edge-ограничениями: redirect/rewrite быстро, auth — повторно на page и в data layer.