
브라우저가 서버로부터 비어있는 뼈대 HTML을 받아온 후, 필요한 자바스크립트 번들을 다운로드하고 번들을 실행하여 동적으로 컨텐츠를 채우는 렌더링 방식
SSR은 서버에서 HTML 페이지를 완성한 뒤 클라이언트(브라우저)에 전달하는 렌더링 방식
💡 SSR은 서버에서 페이지를 구성하는 시간은 CSR보다 더 걸리지만, 브라우저가 JavaScript를 다운로드하고 실행할 필요가 없어 사용자가 실제로 콘텐츠를 보게 되는 시점은 더 빠르다
- SEO에 유리 검색 엔진 크롤러가 HTML을 쉽게 읽을 수 있어, 검색 결과 상위 노출 가능성이 높음
🤔 Q. CSR은 왜 검색엔진에 불리하고 SSR은 왜 유리한가요?
CSR의 경우, 아래 이미지처럼 초기 HTML이 거의 비어있는 상태(div id="root")로 전달되고 JavaScript가 실행된 후에야 실제 콘텐츠가 생성되는데, 대부분의 검색엔진 크롤러는 이 JavaScript 실행을 기다리지 않고 빈 HTML만 읽고 지나가기 때문

반면 SSR은 서버에서 이미 모든 콘텐츠가 포함된 완성된 HTML을 제공하므로, 크롤러가 JavaScript 실행 없이도 모든 콘텐츠를 즉시 읽을 수 있어 검색 엔진 최적화에 유리함
| 특징 | SSR | CSR |
|---|---|---|
| 초기 로딩 속도 | 빠름 (완성된 HTML 제공) | 느림 (JS 다운로드 및 실행 필요) |
| 상호작용 속도 | 느림 (Hydration 필요) | 빠름 (JS 중심 렌더링) |
| SEO | 유리 (HTML 제공) | 불리 (JS 의존) |
| 서버 리소스 | 높음 (매 요청마다 HTML 생성) | 낮음 (정적 리소스 제공) |
| 구현 복잡도 | 복잡 (서버-클라이언트 로직 분리 필요) | 상대적으로 단순 (JS 중심) |
Q. SSR과 CSR의 주요 차이점은?
A. SSR은 서버에서 완성된 HTML을 생성하여 제공하고, CSR은 브라우저가 JavaScript로 화면을 동적 생성합니다.
각각의 특징
Q. 어떤 상황에서 각각을 사용해야 하나요?
SSR 적합
CSR 적합