Next runs data function on server → serializes to props → page hydrates in browser. _app wraps all; _document — HTML shell server-only.
Разбор
_app.tsx — every page wrap: global CSS, providers, persistent layout.
_document.tsx — server HTML shell (<html>, <head>, lang, font links). Once server only — no handlers, no useEffect.
Client navigation: next/link + useRouter from next/router (not next/navigation — App Router). API routes pages/api/* — (req, res) Node style vs App Router Web Request/Response.
Итог
Pages mechanics: data → props → hydrate; _app/_document special files; separate router import.