Modern web development is no longer just about writing front-end code — it’s about where and how your pages are rendered.
The rendering model you choose affects your app’s speed, SEO ranking, infrastructure cost, and user experience.
This article explains Client-Side Rendering (CSR), Server-Side Rendering (SSR), and Edge Rendering in simple language with practical examples and a clear comparison so you can decide which is right for your next project.
1. What is Web Rendering?
Web rendering is the process of generating and displaying HTML content to the user. Depending on where this happens, the rendering can occur:
On the client’s browser (CSR)
On the application server (SSR)
Or at the edge network, close to the user (Edge Rendering)
Let’s explore each one step by step.
2. Client-Side Rendering (CSR)
Concept
In Client-Side Rendering, the browser downloads a small HTML shell and a large JavaScript bundle.
The JavaScript then runs in the browser, calls backend APIs, and dynamically builds the page content.
This is the default approach in Angular, React, and Vue applications.
Technical Flow
User Request → Web Server (HTML + JS bundle) → Browser executes JS → API Calls → DOM Rendered
Example: Angular + ASP.NET Core
Angular Service (Frontend)
getProducts(): Observable<any> {
return this.http.get('https://api.example.com/products');
}
ASP.NET Core API (Backend)
[ApiController]
[Route("api/[controller]")]
public class ProductsController : ControllerBase
{
[HttpGet]
public IActionResult GetAll() => Ok(_productService.GetAll());
}
Here, Angular fetches data after the page loads — classic CSR behavior.
Advantages
Smooth single-page experience
Easy deployment (static hosting + APIs)
Works well with CDNs
Low server cost
Disadvantages
Slower first-page load
Poor SEO (HTML is empty initially)
High JavaScript dependency
3. Server-Side Rendering (SSR)
Concept
In Server-Side Rendering, the HTML is built on the server before sending it to the browser.
This makes pages load faster initially and helps search engines index content easily.
Frameworks supporting SSR: Angular Universal, Next.js, Nuxt.js, SvelteKit.
Technical Flow
User Request → Server runs rendering logic → Full HTML returned → Browser displays → Hydration for interactivity
Example: Angular Universal + ASP.NET Core
Server.ts
import 'zone.js/node';
import { ngExpressEngine } from '@nguniversal/express-engine';
import express from 'express';
import { AppServerModule } from './src/main.server';
const app = express();
app.engine('html', ngExpressEngine({ bootstrap: AppServerModule }));
app.set('view engine', 'html');
app.set('views', 'dist/browser');
This setup pre-renders HTML on the server and sends it directly to the user.
Advantages
Fast First Contentful Paint (FCP)
Better SEO
Perceived speed improvement
Disadvantages
More CPU load on server
Complex deployment setup
Slower route transitions
4. Edge Rendering
Concept
Edge Rendering is an advanced model where pages are rendered close to the user’s location — on edge servers or CDNs (e.g., Cloudflare Workers, Vercel Edge Functions, Netlify Edge).
It’s like SSR, but instead of a single central server, your rendering happens geographically distributed across the world.
Technical Flow
User → Nearest CDN Edge Node → Render Function → Return Ready HTML → Cache → Browser DisplayExample: Next.js Edge Function
export const runtime = 'edge';
export async function GET() {
const data = await fetch('https://api.example.com/products').then(res => res.json());
return new Response(<ProductList products={data} />, { status: 200 });
}
Rendering happens at the edge, giving ultra-low latency responses.
Advantages
Super-fast response (low latency)
Dynamic content + global scalability
Lower load on origin servers
Disadvantages
Limited execution time (edge functions are lightweight)
Slightly higher cost for edge compute
More complex debugging and observability
5. Technical Workflow Diagram
Rendering Strategy Lifecycle
┌────────────────────────────┐
│ User Request │
└────────────────────────────┘
│
┌───────────────────────┼─────────────────────────┐
│ │ │
▼ ▼ ▼
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ CSR (Client) │ │ SSR (Server) │ │ Edge Render │
└──────────────┘ └──────────────┘ └──────────────┘
│ │ │
JS loads & API call Server builds HTML CDN Node renders HTML
│ │ │
Browser builds DOM Sends full HTML Cached & served instantly
▼ ▼ ▼
Interactivity ready Fast first paint Ultra-low latency
6. Performance Comparison
| Feature | CSR | SSR | Edge Rendering |
|---|---|---|---|
| Initial Load | Slow | Fast | Very Fast |
| SEO Friendly | Weak | Strong | Strong |
| Server Load | Low | High | Medium |
| Scalability | Excellent | Good | Excellent |
| Caching | Client only | CDN possible | Edge caching |
| Complexity | Low | Medium | High |
| Best For | Dashboards, SPAs | SEO websites | Global dynamic apps |

Join the conversation! Your thoughts help the community grow.