[기술 정리] SSR과 CSR

lhs's avatar
Nov 23, 2024
[기술 정리] SSR과 CSR
 

1. SSR (Server-Side Rendering)

💡
웹 페이지의 HTML을 서버에서 미리 렌더링하여 클라이언트에 전달하는 방식

정의

SSR은 서버에서 HTML 페이지를 완성하여 클라이언트에 전달하는 방식이다. 클라이언트는 서버로부터 완성된 HTML을 받아 화면에 즉시 표시한다.

장점

  • SEO(Search Engine Optimization, 검색 엔진 최적화)에 유리: 페이지가 서버에서 완성된 상태로 전달되므로 검색 엔진이 페이지 내용을 쉽게 인식할 수 있다.
  • 빠른 초기 렌더링: 서버가 HTML을 렌더링해 전달하므로 초기 로딩 속도가 빠르다.
  • 저사양 기기에서 효율적: 클라이언트 측의 처리 부담이 적다.

단점

  • 서버 부하 증가: 모든 요청마다 서버에서 페이지를 렌더링하기 때문에 서버 자원을 많이 소모한다.
  • 상호작용 지연: HTML은 빠르게 전달되지만, 클라이언트 측에서 JavaScript가 로드되고 이벤트가 활성화되는 데 시간이 걸릴 수 있다.
  • 복잡한 상태 관리: SSR과 클라이언트 측 상호작용을 함께 구현해야 하므로, 애플리케이션 상태 관리가 복잡해질 수 있다.

2. CSR (Client-Side Rendering)

💡
브라우저에서 JavaScript를 사용해 페이지 전체를 렌더링하고 동적으로 업데이트하는 방식

정의

CSR은 클라이언트에서 JavaScript로 HTML을 렌더링하는 방식으로, SPA(Single Page Application)의 핵심 기술이다. 서버는 기본적인 HTML과 JavaScript 파일만 전달하고, 클라이언트는 페이지 로드 후 필요한 데이터를 서버에 요청해 화면을 완성한다.

장점

  • 상호작용이 빠름: 페이지 내에서의 탐색이나 상호작용이 서버와의 통신 없이 클라이언트에서 즉시 이루어진다.
  • 서버 부담 감소: 서버는 초기 HTML과 JavaScript만 제공하고 이후 렌더링 작업은 클라이언트에서 수행하므로 서버 부담이 적다.
  • 동적인 페이지 처리에 유리: 실시간 데이터 업데이트나 사용자 상호작용이 많은 애플리케이션에 적합하다.

단점

  • SEO에 불리: 초기 HTML에는 콘텐츠가 없고, JavaScript가 실행된 이후에 콘텐츠가 렌더링되므로, 검색 엔진이 콘텐츠를 인식하기 어렵다.
  • 초기 로딩 지연: JavaScript 파일 로드 후 페이지를 렌더링하기 때문에 초기 로딩 시간이 길다.
  • 기기 성능에 의존: 클라이언트에서 렌더링을 처리하므로, 저사양 기기에서는 성능이 저하될 수 있다.

3. SSR과 CSR의 차이점

항목
SSR
CSR
렌더링 위치
서버
클라이언트
SEO
유리
불리
초기 로딩 속도
빠름
느림
상호작용 속도
초기 지연 후 다소 느림
빠름
서버 부하
높음
낮음
복잡성
상태 관리 복잡
상대적으로 간단
Share article

LHS's Study Space