Вопрос проверяет понимание того, как и где выполняется загрузка данных на сервере в Next.js, и чем она отличается от клиентских запросов.
Серверные запросы в Next.js — это запросы к API или базе данных, которые выполняются на сервере до отправки HTML клиенту. Они используются, чтобы сразу вернуть пользователю готовую страницу с данными. Такие запросы недоступны из браузера и могут безопасно использовать секреты. В app router серверные запросы обычно выполняются прямо в серверных компонентах. Это улучшает SEO и снижает количество клиентского JavaScript.
В Next.js запросы могут выполняться на разных этапах жизненного цикла страницы, и серверные запросы — ключевой механизм для SSR, SSG и ISR.
Определение: серверный запрос — это запрос за данными, который выполняется в Node.js-среде (или edge), а не в браузере пользователя.
SSR
На каждый HTTP-запрос пользователя
SSG
Во время билда
ISR
По таймеру или при ревалидации
Server Components (app router)
При рендере компонента на сервере
const products = await fetch("https://api.example.com/products", {
cache: "no-store" // отключает кеширование
}).then(r => r.json());
Серверные
Нет доступа из DevTools браузера
Можно использовать API-ключи
Данные попадают сразу в HTML
Клиентские
Выполняются после загрузки страницы
Видны в сети браузера
Часто ухудшают SEO при неправильном использовании
Каталоги, статьи, лендинги → серверные запросы
Фильтры, интерактив, пользовательские действия → клиентские запросы
Серверные запросы в Next.js применяются для безопасной и SEO-дружественной загрузки данных и являются базовым инструментом серверного рендеринга.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию