SSR vs CSR Explained
What Server-Side and Client-Side Rendering Mean
Server-side rendering (SSR) means the server builds the complete HTML of a page and sends it to the browser. Client-side rendering (CSR) means the server sends a minimal page and the browser's JavaScript builds the content. Both can produce the same page for the visitor, but the work happens in different places and at different times.
Rendering means turning data and templates into the HTML that the browser displays. SSR does this on the server, either for each request or ahead of time. CSR does it in the browser, after the JavaScript has downloaded and run.
How SSR, Static Generation and Hydration Work
Static site generation (SSG) is a third approach. HTML pages are built once during a build step and then served as plain files. It is fast and simple to host, but content changes require a new build.
Many modern JavaScript frameworks, including Next.js and Nuxt, can mix these methods page by page. They often use hydration: the server sends ready-made HTML, then the browser downloads the JavaScript and attaches event handlers so that buttons and forms become interactive. The page is visible quickly, but it cannot respond to clicks until hydration completes.
Effects on Hosting, Speed and Search Visibility
CSR needs only static files on the server, so it is cheap to host. The browser does more of the work, and visitors on slow devices may wait longer before they see content. SSR needs a running server that can produce HTML on demand, which raises hosting requirements and server load. SSG needs only static files, the same as a simple website. For the general difference between fixed and generated pages, see static vs dynamic websites.
Search visibility is another factor. Search engines can run JavaScript, but content that is present in the initial HTML is easier for every crawler to read and index. This is why SSR and SSG are often chosen for public pages such as blogs and product listings, while CSR is common inside logged-in applications that do not need to appear in search results. For the wider concept, see server-side vs client-side code.
Frequently asked questions
Is server-side rendering better for SEO?
It can be, for public content. Search engines can process JavaScript, but they may do so later and with more limits than they apply to plain HTML. Server-rendered or pre-built pages expose their text and links immediately. For private dashboards and tools that are not meant for search, client-side rendering is usually acceptable.
Does SSR need a Node.js server?
Not always, but it needs a process that can run the rendering code on request or during the build. Frameworks such as Next.js and Nuxt typically run as a Node.js server. Other setups use serverless functions or a static export. A plain static host can deliver only pre-built pages and cannot render them on demand.