100log

About

페이지 렌더링 방식과 관련된 중요한 개념. SSR,SSG 그리고 CSR

Front-end

SSG, SSR, CSR

SSR(Server Side Rendering)

작동방식

장점

단점

SSG(Static Site Generation)

작동 방식

장점

단점

CSR(Client Side Rendering)

작동 방식

장점

단점

비교

정리

사용 사례

main-img

SSG, SSR, CSR

웹 애플리케이션에서 SSR, SSG, 그리고 CSR은 페이지 렌더링 방식과 관련된 중요한 개념이다.
각 방식은 사용자 경험, 성능, 검색 엔진 최적화(SEO) 등 다양한 측면에서 장단점을 가지고 있으니 하나씩 정리해보자.


SSR(Server Side Rendering)

SSR은 서버에서 HTML을 렌더링한 뒤, 완성된 HTML 파일을 클라이언트(browser)로 보내는 방식이다.


작동방식

  1. 사용자가 웹 페이지를 요청하면 서버가 해당 요청을 처리.
  2. 서버는 필요한 데이터를 백엔드에서 가져와 HTML로 렌더링.
  3. 렌더링된 HTML이 클라이언트로 전송.
  4. 클라이언트는 브라우저에서 HTML을 표시.

장점

  • 빠른 첫 번째 로드:
    완전한 HTML(Ready to Render)이 제공되기 때문에 브라우저가 콘텐츠를 바로 표시 가능.
  • SEO 친화적:
    HTML이 서버에서 렌더링되어 검색 엔진 크롤러가 페이지 콘텐츠를 쉽게 읽을 수 있음.
  • 초기 페이지 로드에 유리:
    데이터가 준비된 상태에서 페이지를 로드하기 때문에 초기 렌더링이 빠름.

단점

  • 서버 부하 증가:
    매 요청마다 서버가 HTML을 렌더링해야 하므로 서버의 처리 부하가 높고 나머지 로딩 시간이 느리다.
  • 인터랙션 속도 감소:
    초기 로드 이후, 클라이언트 측에서 동작하려면 추가적인 JavaScript가 로드되어야 함.

SSG(Static Site Generation)

SSG는 애플리케이션을 빌드 시 미리 HTML 파일을 생성해 두는 방식이다.
빌드된 정적 HTML 파일이 서버에 저장되며, 사용자가 요청하면 즉시 전달된다.


작동 방식

  1. 빌드 단계에서 정적 HTML로 페이지를 생성.
  2. 사용자가 요청하면 서버에서 미리 생성된 HTML을 바로 제공.

장점

  • 매우 빠른 로딩 속도:
    이미 생성된 정적 HTML을 제공하므로, 서버 부하가 적고 클라이언트 로드가 빠름.
  • SEO친화적:
    콘텐츠가 미리 렌더링되어 검색 엔진이 쉽게 크롤링 가능.
  • 안정적:
    서버 부하가 적으며, CDN을 통해 캐싱 가능.
    * CDN(Content Delivery Network): 사용자에게 콘텐츠(HTML, CSS, JavaScript 파일, 이미지, 동영상 등)를 더 빠르고 효율적으로 제공하기 위해 전 세계에 분산된 서버 네트워크를 사용하는 시스템

단점

  • 동적 데이터 처리 어려움:
    데이터가 실시간으로 변경되는 경우 적합하지 않음.
  • 빌드 시간 증가:
    콘텐츠가 많아질수록 빌드 시간이 길어짐.

CSR(Client Side Rendering)

CSR은 클라이언트(browser)에서 JavaScript를 사용해 HTML을 생성하는 방식이다.
React, Angular, Vue와 같은 프레임워크가 주로 사용된다.


작동 방식

  1. 사용자가 웹 페이지를 요청하면 서버는 최소한의 HTML 및 JavaScript 파일만 전송.
  2. 클라이언트는 JavaScript를 실행해 필요한 데이터를 가져오고, HTML을 생성하여 화면에 표시.

장점

  • 빠른 사용자 인터랙션:
    브라우저에서 상태를 유지하며 동적으로 렌더링되기 때문에 사용자 경험이 부드러움.
  • 유연한 데이터 처리:
    실시간 데이터를 쉽게 처리 가능.
  • 빠른 페이지 전환 속도:
    클라이언트에서 JavaScript가 페이지를 렌더링하므로 전환이 빠름.

단점

  • SEO에 불리함:
    초기 요청시 HTML이 비어있고 JavaScript로 채워지기 때문에 검색 엔진 크롤러가 콘텐츠를 제대로 인식하지 못할 가능성이 있음.
  • 초기 로딩 속도 느림:
    JavaScript 로드 및 실행 후 렌더링이 이루어지기 때문에 초기 로딩이 느려질 수 있음.
  • JavaScript 의존성 증가:
    JavaScript가 비활성화된 브라우저에서는 제대로 작동하지 않음.

비교


정리

특성SSRSSGCSR
초기 로드 속도보통(서버 렌더링 시간 필요)빠름(정적 파일 제공)느림(JavaScript 실행 필요)
SEO적합적합낮음
실시간 데이터가능어렵거나 불가능매우 적합
서버 부하높음낮음낮음
빌드 시간없음오래 걸림없음

사용 사례

  • SSR:
    뉴스 사이트, 블로그 등 SEO가 중요하고 초기 콘텐츠 로딩이 필요한 경우.
  • SSG:
    정적 페이지(포트폴리오, 문서 사이트, 마케팅 페이지)와 같이 콘텐츠가 자주 변경되지 않는 경우.
  • CSR:
    대화형 웹 어플리케이션(대시보드, 소셜 미디어, 채팅 등)에서 실시간 데이터 처리가 필요한 경우.
profile_img백종민
1993
Seoul
커리어 발전을 위한 새로운 기회를 찾고있습니다.