id, title, category, status, canonical_id, aliases, duplicate_of, source_trust_level, confidence_score, verification_status, tags, raw_sources, last_reinforced, github_commit, tech_stack
id
title
category
status
canonical_id
aliases
duplicate_of
source_trust_level
confidence_score
verification_status
tags
raw_sources
last_reinforced
github_commit
tech_stack
wiki-2026-0508-client-side-rendering-csr
Client-Side Rendering (CSR)
10_Wiki/Topics
verified
self
none
A
0.9
applied
rendering
csr
spa
frontend
performance
2026-05-10
pending
language
framework
TypeScript
React / Vue / Svelte
Client-Side Rendering (CSR)
매 한 줄
"매 browser 가 매 HTML 을 그린다" . CSR 은 server 가 빈 shell + JS bundle 만 보내고, browser 가 fetch + render 모두 수행 — 매 SPA 의 default mode, interactive app 에 강하나 매 first paint / SEO 매 weak.
매 핵심
매 lifecycle
Browser → server: GET / → minimal HTML + <script src="bundle.js">.
Browser parses HTML → fetches JS bundle.
JS executes → mounts framework → fetches data → renders DOM.
User interacts.
매 trade-off
Pros
Cons
Rich interactivity
Slow TTI (특히 mobile)
Server cost low
SEO 매 needs hydration tricks
Client routing fast
Blank screen until JS loads
Offline-capable (PWA)
Bundle size matters a lot
매 CSR vs SSR vs RSC (2026)
CSR: dashboard, internal tool, app-like UX.
SSR: marketing, blog, e-commerce.
RSC: hybrid — server-render with client islands.
SSG: docs, blog (rebuild on content change).
💻 패턴
Vite + React CSR baseline
Route-based code splitting
Skeleton-first paint (perceived perf)
Pre-fetch on hover (link prefetch)
Service Worker for offline shell
Bundle budget enforcement
SEO via prerender (when CSR + needed)
매 결정 기준
상황
Render mode
Auth-walled dashboard
CSR
Marketing site
SSG or SSR
Mixed app (e-commerce)
RSC / SSR + islands
Rich realtime (Figma-like)
CSR + WebSocket
기본값 : 매 user-app (login wall 뒤) → CSR. 매 public content → SSR/SSG/RSC.
🔗 Graph
🤖 LLM 활용
언제 : app-like UX, auth-protected, heavy client interactivity.
언제 X : 매 SEO-critical public page, low-end device 가 주 audience.
❌ 안티패턴
Mega-bundle : 매 single chunk 5MB → split routes / vendor.
No skeleton / loading state : 매 blank screen 매 perceived as broken.
CSR for blog/docs : 매 SEO/perf 매 모두 lose — SSG choice.
🧪 검증 / 중복
Verified (web.dev / React docs / Vite docs).
신뢰도 A.
🕓 Changelog
날짜
변경
2026-05-08
Phase 1
2026-05-10
Manual cleanup — CSR fundamentals + tradeoffs + patterns