Hint
React 18 + HTTP chunked transfer — shell arrives first, slow parts stream in as they resolve
Streaming SSR uses HTTP chunked transfer encoding to flush HTML to the browser incrementally rather than waiting for the entire page to render server-side.
How it works (React 18 + Next.js App Router):
<Suspense> with a fallback (skeleton).<script> that replaces the placeholder.// app/page.tsx
export default function Page() {
return (
<Layout>
<HeroBanner /> {/* static, streams immediately */}
<Suspense fallback={<Skeleton />}>
<RecommendationFeed /> {/* slow DB query, streams when ready */}
</Suspense>
</Layout>
);
}
Performance benefit: TTFB is fast (shell), FCP is fast (visible content), and Time to Interactive is not blocked by the slowest data fetch on the page.