CSR과 SSR (Client Side Rendering, Server Side Rendering)
한눈에 보기
CSR은 브라우저가 자바스크립트로 화면을 그리는 방식, SSR은 서버가 완성된 HTML을 내려보내는 방식이다. 초기 로딩, SEO, 서버 부하 관점의 차이와 SSG, ISR을 포함한 혼합 전략까지 정리한다.
최종 업데이트 2026.09.17
CSR(Client Side Rendering)은 서버가 거의 빈 HTML과 자바스크립트(JavaScript) 번들을 내려보내고 브라우저가 화면을 그리는 방식이며, SSR(Server Side Rendering)은 서버가 요청 시점에 완성된 HTML을 만들어 내려보내는 방식이다. 두 방식은 화면을 그리는 주체와 시점이 다르기 때문에 초기 로딩 속도, 검색 엔진 최적화, 서버 부하에서 상반된 특성을 보인다. 최신 프레임워크는 둘 중 하나를 고르기보다 페이지 성격에 따라 혼합해 쓰는 방향으로 발전하고 있다.
CSR의 동작 과정
CSR에서 서버는 뼈대만 있는 HTML과 스크립트 태그를 응답한다. 브라우저는 자바스크립트 번들을 내려받아 실행하고, 이 코드가 API를 호출해 데이터를 받아온 뒤 DOM(Document Object Model)을 생성해 화면을 완성한다. 리액트(React)나 뷰(Vue)로 만든 전형적인 SPA(Single Page Application)가 이 구조다. 최초 진입은 번들 다운로드와 실행, 데이터 요청이 순차로 일어나므로 느리지만, 일단 앱이 뜨고 나면 페이지 이동 시 전체 문서를 다시 받지 않고 필요한 데이터만 가져와 화면 일부를 갈아 끼우므로 상호작용이 매끄럽다. 렌더링 연산이 각 사용자의 브라우저에서 일어나므로 서버 부담도 작다. 다만 첫 응답 HTML에 내용이 없어서, 자바스크립트를 실행하지 않는 크롤러나 링크 미리보기 생성기에는 빈 페이지로 보일 수 있다.
SSR의 동작 과정
SSR에서는 요청이 올 때마다 서버가 데이터를 조회하고 컴포넌트를 실행해 완성된 HTML 문자열을 만들어 응답한다. 브라우저는 받은 즉시 내용을 표시할 수 있으므로 첫 화면이 빨리 보이고, 크롤러도 완전한 문서를 읽을 수 있어 SEO(Search Engine Optimization)에 유리하다. 다만 서버가 그린 HTML은 아직 이벤트 핸들러가 붙지 않은 정적인 그림이다. 이후 브라우저가 자바스크립트를 내려받아 이미 있는 DOM에 상태와 이벤트를 연결하는 과정을 거쳐야 비로소 상호작용이 가능해지는데, 이를 하이드레이션(Hydration)이라 부른다. 그래서 SSR 페이지는 보이는 시점과 조작 가능한 시점 사이에 간격이 생길 수 있고, 렌더링 연산이 서버에 집중되므로 트래픽이 늘면 서버 비용이 함께 늘어난다. 넥스트(Next.js)와 넉스트(Nuxt)가 대표적인 SSR 지원 프레임워크다.
SSG와 ISR, 그리고 혼합 전략
렌더링 시점을 요청 때가 아니라 빌드 때로 앞당긴 것이 SSG(Static Site Generation)다. 빌드 시 모든 페이지를 HTML 파일로 만들어 CDN(Content Delivery Network)에 올려 두면, 요청마다 연산 없이 파일만 내려주므로 가장 빠르고 저렴하다. 대신 내용을 바꾸려면 다시 빌드해야 하므로 블로그나 문서처럼 갱신이 드문 콘텐츠에 맞는다. ISR(Incremental Static Regeneration)은 정적 페이지를 일정 주기나 요청 계기로 백그라운드에서 다시 생성해, 정적의 속도와 준실시간 갱신을 절충한다. 최신 프레임워크는 여기서 더 나아가 서버 컴포넌트(Server Component)처럼 화면의 일부만 서버에서 렌더링하고 상호작용이 필요한 부분만 클라이언트 코드로 보내는 세분화된 전략을 제공한다. 결국 실무의 질문은 CSR이냐 SSR이냐가 아니라, 페이지 단위 혹은 컴포넌트 단위로 어떤 렌더링 시점이 적절한가로 바뀌고 있다.
방식 비교
| 구분 | CSR | SSR | SSG |
|---|---|---|---|
| 렌더링 주체와 시점 | 브라우저, 요청 후 | 서버, 요청 시 | 서버, 빌드 시 |
| 첫 화면 표시 | 느리다 | 빠르다 | 가장 빠르다 |
| 이후 페이지 전환 | 매우 빠르다 | 구현에 따라 다르다 | 구현에 따라 다르다 |
| SEO | 불리하다 | 유리하다 | 유리하다 |
| 서버 부하 | 낮다 | 높다 | 거의 없다 |
| 실시간 데이터 | 적합 | 적합 | 부적합 |
| 적합한 예 | 관리자 대시보드 | 커머스 상품 페이지 | 블로그, 문서 |
선택 기준
로그인 뒤에만 쓰는 내부 도구나 대시보드는 SEO가 무의미하고 상호작용이 많으므로 CSR로 충분하다. 검색 유입이 매출로 이어지는 커머스나 미디어 서비스는 첫 화면 속도와 SEO가 중요하므로 SSR이나 SSG가 우선이다. 또 첫 콘텐츠 표시 시점을 재는 FCP(First Contentful Paint)와 조작 응답성을 재는 INP(Interaction to Next Paint) 같은 코어 웹 바이탈(Core Web Vitals) 지표 중 무엇이 병목인지에 따라 판단이 달라진다. SSR을 도입하면 서버 인프라 운영, 캐싱 설계, 하이드레이션 불일치 디버깅 같은 복잡도가 따라오므로, 이 비용을 감수할 만큼의 이득이 있는지 따져 보는 것이 올바른 접근이다.
면접에서 이렇게 물어본다
- CSR과 SSR의 렌더링 과정을 순서대로 비교해 설명해 보라.
- CSR이 SEO에 불리한 이유와 이를 보완하는 방법을 말해 보라.
- 하이드레이션이 무엇이고 왜 필요한지, 어떤 비용이 있는지 설명해 보라.
- SSG와 ISR은 각각 어떤 문제를 풀기 위한 것인가.
- 새 서비스를 설계한다면 어떤 기준으로 렌더링 방식을 정하겠는가.
웹에서 같이 읽기
- 웹 인증 방식 총정리 (Authentication)웹 서비스의 인증은 요청을 보낸 사용자가 누구인지 확인하는 절차다. HTTP는 무상태 프로토콜이므로 로그인 이후 요청마다 사용자를 식별할 수단이 필요하며, 세션, 토큰, API 키, OAuth를 비교해 각 방식의 적합한 상황을 정리한다.
- 쿠키와 세션 (Cookie, Session)쿠키는 서버가 브라우저에 저장하도록 지시하는 작은 키와 값의 쌍이고, 세션은 쿠키를 운반 수단으로 삼아 사용자별 상태를 서버 저장소에 보관하는 기법이다. 두 개념의 동작 원리와 보안 속성, 위협 대응을 다룬다.
- CSRF와 XSS (Cross Site Request Forgery, Cross Site Scripting)XSS는 공격자의 스크립트를 피해자 브라우저에서 실행시키는 공격이고, CSRF는 로그인된 브라우저를 속여 피해자 명의의 요청을 보내는 공격이다. 두 공격이 악용하는 신뢰 관계의 차이와 방어 수단을 정리한다.
- 브라우저 동작 원리 (Browser Rendering)브라우저가 URL을 받아 서버에서 자원을 가져오고 HTML, CSS, 자바스크립트를 해석해 픽셀로 바꾸는 과정을 다룬다. DNS 조회부터 파싱, 레이아웃, 페인트, 합성까지 렌더링 파이프라인과 이벤트 루프를 설명한다.
이 개념, 내 코드에서는 어떻게 물어볼까요
데브핏(DevFit)에 채용공고 URL을 붙여 넣고 레포지토리를 연결하면, 내가 쓴 커밋에서 예상 질문과 어필 포인트를 만듭니다. 하루 10회까지 무료입니다. 합불 판정이나 지원자 랭킹은 만들지 않고, 최종 판단은 사람이 합니다.
공고 넣고 시작하기