Skip to content

Streaming SSR

Коротко:

Streaming SSR — отправка HTML кусками (chunks) по мере того, как каждая часть страницы готова. Улучшает TTFB (первые байты приходят за ~100ms вместо ~2s). Основа: HTTP chunked transfer-encoding. React: Suspense + renderToPipeableStream. Next.js App Router — default streaming. Пользователь видит

сразу, когда DB response готов.

Ниже: подробности, пример, смежные термины, FAQ.

Попробовать бесплатно →

Подробности

  • Transfer-Encoding: chunked — HTTP-уровень механизм
  • Suspense boundaries делят страницу на независимые chunks
  • Fallback UI показывается во время загрузки медленной части
  • Out-of-order streaming: быстрые chunks первыми, медленные ждут
  • Incompatible с traditional full-page caching — нужен per-chunk cache

Пример

// Next.js loading.tsx
export default function Loading() {
  return <Skeleton />;
}

// Or explicit Suspense
<Suspense fallback={<Skeleton />}>
  <SlowProductList />
</Suspense>

Смежные термины

Больше по теме

Часто задаваемые вопросы

Streaming vs full SSR?

Full SSR: wait for entire page → send. Streaming: send as each part готова. Streaming TTFB быстрее на 5-10x для pages с slow data fetches.

Что с SEO?

Googlebot поддерживает streaming chunked. Другие crawlers — могут тронуть timeout. Для bots: подумать о fallback non-streaming route.

CDN edge?

Vercel, Cloudflare, Netlify — все поддерживают edge streaming. Static pages остаются cached, dynamic — stream.