Server-side rendering (SSR)
Server-side rendering generates the HTML for a page on the server per request — the response is fully-formed HTML that the browser can render immediately without waiting for client-side JavaScript. SSR delivers fast First Contentful Paint, works without JavaScript, and is friendly to SEO crawlers that don't execute JavaScript reliably.
SSR's trade-off is server cost and TTFB: each request runs server code, so the server bears compute cost that pure-static delivery avoids. Modern frameworks (Next.js, Remix, SvelteKit, Nuxt) make SSR the default for content-heavy sites where SEO matters. The line between SSR, SSG, and ISR has blurred: most frameworks now let you mix per-route. The decision principle: render at the request time if the content is personalised or rapidly changing; render at build time if it's universal and stable; use ISR (cache + revalidate) for content that's mostly stable but updates occasionally.
Related terms
- Static site generation (SSG)
Static site generation pre-renders every page to plain HTML at build time, then serves the HTML directly from a CDN with no server-side execution per request.
- Incremental static regeneration (ISR)
Incremental static regeneration is the hybrid where pages are pre-rendered to static HTML but the framework refreshes them in the background after a defined revalidation period — combining SSG's first-byte speed with SSR's freshness.
- Hydration
Hydration is the process of attaching JavaScript event handlers and state to server-rendered HTML on the client — the page is visible immediately (fast FCP) but interaction works only after hydration completes.