[CS] 프론트엔드 렌더링 방식 : CSR, SSR, SSG, ISR

2025. 7. 25. 23:39·CS

 

프론트엔드 렌더링 방식으로 CSR과 SSR은 많이 들어보고 접해봤지만,

나머지 ISG과 SSG는 아직 잘 몰라서 글을 작성하면서 정리해보려고 한다 !


🍑 CSR (클라이언트 사이드 렌더링)

 

클라이언트 사이드 렌더링(CSR)은 웹 애플리케이션의 동적인 사용자 경험을 제공하는 데 최적화된 방식이다. 이 방식에서는 브라우저가 HTML을 받은 후에 JavaScript를 통해 콘텐츠를 동적으로 생성하고 렌더링한다. 이 과정에서 사용자의 상호작용에 따라 필요한 데이터만을 서버로부터 비동기적으로 불러오게 되며, 이를 통해 사용자 경험을 크게 향상시킬 수 있다. 

 

😇 CSR의 장점

1. 높은 사용자 경험 : CSR은 클라이언트 측에서 데이터를 받아와 렌더링하기 때문에 페이지 이동 속도가 빠르고, 사용자 경험이 높다.

2. 캐싱 가능 : 클라이언트에서 캐시를 사용하여 적은 양의 데이터만 다시 요청하여 처리하는 것이 가능하다.

3. 적은 서버 부하 : CSR은 클라이언트에서 데이터를 처리하기 때문에 서버 부하가 적다. 

 

👿 CSR의 단점

1. 느린 초기 로딩 속도 : CSR은 페이지를 렌더링하기 위해 필요한 JS 파일을 먼저 다운로드 한 후에 데이터를 받아와야 한다. 이로 인해 초기 로딩 속도가 느리다.

2. 불리한 SEO : CSR에서는 초기 HTML 파일에 콘텐츠가 포함되어 있지 않기 때문에 검색 엔진이 페이지를 크롤링할 때 콘텐츠를 인식하지 못할 수 있다. 

3. 낮은 보안성 : CSR에서는 클라이언트에서 데이터를 처리하기 때문에 보안성이 낮을 수 있다. 클라이언트 측에서 데이터를 조작하거나 해킹 등의 공격이 가능하다.

 

🤔 언제 사용하면 좋을까?

seo에 크게 의존하지 않은 사이트에 사용하는 것이 좋다. 초기 로딩 속도보다 사용성이나 UX가 중요한 경우가 적합하다.


 

🍎 SSR (서버 사이드 렌더링)

 

서버 사이드 렌더링(SSR)은 사용자가 웹페이지에 접속하면, 서버가 웹페이지의 모든 콘텐츠를 포함한 HTML 문서를 생성해 응답을 보낸다. 그리고 브라우저에서는 이 HTML을 표시하여 사용자가 빠르게 콘텐츠를 볼 수 있도록 한다. 그리고 동시에 JS Bundle을 다운로드 받아 실행함으로써 웹페이지가 동작하게 만든다. 

 

😇 SSR의 장점

1. 빠른 초기 로딩 속도 : 서버에서 완전한 HTML을 생성하여 클라이언트에 전달하기에, 초기 로딩 속도가 빠르다. 

2. SEO에 유리함 : JS Bundle이 로드되기 전 사용자가 의미있는 콘텐츠를 볼 수 있어, SEO도 쉽게 구성할 수 있다. 

3. 높은 보안성 : SSR에서는 서버 측에서 데이터를 처리하기 때문에 보안성이 높다. 클라이언트 측에서 데이터를 조작하거나

해킹 등의 공격이 어려워진다. 

 

👿 SSR의 단점

1. 느린 페이지 이동 속도 : SSR은 페이지 이동시마다 서버에서 데이터를 받아와 렌더링해야 하기 때문에 페이지 이동 속도가 느리다. 

2. 유지보수 비용 증가 : 웹 앱을 서버에 배포한다면 다른 방식보다 SSR이 더 많은 자원을 소모하고 더 많은 부하를 보여 유지보수 비용이 증가한다. 

 

🤔 언제 사용하면 좋을까?

SEO가 중요하고, 초기 로딩 속도가 중요한 서비스에 사용하는 것이 좋다. 예를 들면 뉴스 웹사이트나, 블로그 같은 사이트가 있다. 


 

🍒 SSG (정적 사이트 생성)

정적 사이트 생성(SSG)은 사용자가 웹페이지에 접속할 때가 아닌, 개발자가 코드를 빌드할 때 HTML을 미리 렌더링하는 방식이다. SSR에서는 사용자가 접속할 때 서버에서 웹페이지 내 콘텐츠를 HTML의 형태로 생성해 응답했지만, SSG에서는 미리 생성된 HTML을 즉각 전달함으로써 다른 렌더링 방식보다도 빠르게 콘텐츠를 렌더링할 수 있다. 

 

😇 SSG의 장점

1. 매우 빠른 성능 : 이미 만들어진 HTML을 바로 제공하기에, 로딩 속도가 매우 빠르다. 

2. SEO에 유리함 : SSR처럼 검색 엔진이 페이지를 잘 읽을 수 있다. 

3. 높은 보안성 : 웹사이트가 미리 만들어졌기 때문에 콘텐츠가 훨씬 더 안전하다.

 

👿 SSG의 단점

1. 정적인 데이터 : build 시점에 렌더링이 되기 때문에 데이터가 정적이다. 따라서 데이터가 가변적으로 변경되는 웹사이트의 경우 적절하지 않다.

2. 힘든 관리 : 대규모 웹사이트의 경우 빌드가 매우 오래 걸리며, 관리하는 것도 번거로운 편이다. 

 

🤔 언제 사용하면 좋을까?

회사 소개 페이지나 포트폴리오 사이트처럼 내용이 거의 변하지 않는 웹사이트의 경우에만 적합하다. 약간의 동적 콘텐츠라도 포함이 되어있다면 SSG를 사용하지 않는 것이 좋다. 


 

🍬 ISR (점진적 정적 재생성)

점진적 정적 재생성(ISR)은 SSG와 SSR의 장점을 결합한 방식으로, 정적 페이지를 요청 시 서버에서 동적으로 갱신할 수 있도록 한다. ISR을 사용하면 정적 사이트의 이점을 유지하면서 수많은 페이지로 확장할 수 있다. 

 

😇 ISR의 장점

1. 빠른 응답 : SSG와 동일하게 ISR도 정적 페이지를 바로 제공하므로 로딩 속도가 매우 빠르다.

2. 자동 갱신 : 일정 주기마다 최신 데이터로 페이지가 자동 업데이트되어 내용이 변경되어도 사이트를 다시 배포할 필요가 없다. 

3. 유리한 SEO : 정적 HTML이 제공되므로 SEO에 유리하다. 

 

👿 ISR의 단점

1. 느린 반영 : 데이터가 변경이 되어도 일정 주기 전까지는 반영이 안되어, 예전의 콘텐츠를 보게 된다. 

 

🤔 언제 사용하면 좋을까?

콘텐츠가 동적이지만 자주 변경되지 않는 사이트의 경우 ISR을 사용하는 것이 좋다. 뉴스나 개인 웹사이트 등등이 있다.

'CS' 카테고리의 다른 글

[CS] 기술면접 스터디 : React, Next, TypeScript  (5) 2025.08.14
[CS] 세션 기반 인증과 토큰 기반 인증 (+인증, 인가)  (0) 2025.07.15
[CS] SEO란 무엇이고, 어떻게 하면 개선할 수 있을까?  (0) 2025.07.13
[CS] CORS(Cross-Origin Resource Sharing)란 무엇일까?  (1) 2025.07.02
'CS' 카테고리의 다른 글
  • [CS] 기술면접 스터디 : React, Next, TypeScript
  • [CS] 세션 기반 인증과 토큰 기반 인증 (+인증, 인가)
  • [CS] SEO란 무엇이고, 어떻게 하면 개선할 수 있을까?
  • [CS] CORS(Cross-Origin Resource Sharing)란 무엇일까?
김애룽
김애룽
개발하면서 공부한 것들을 끄적입니다
  • 김애룽
    김애룽의 개발 아카이브
    김애룽
  • 전체
    오늘
    어제
    • 분류 전체보기 (39)
      • React (10)
      • Next.js (2)
      • JavaScript (5)
      • CodingTest (10)
      • 대외활동 (3)
      • Git (1)
      • CS (5)
      • 정보처리기사 (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코드잇
    useCallback
    정보처리기사
    hooks
    프로그래머스
    호이스팅
    Programmers
    js
    한성대 멋사
    SSR
    react
    정처기
    props
    useMemo
    javascript
    멋쟁이사자처럼
    var
    Next.js
    const
    리액트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
김애룽
[CS] 프론트엔드 렌더링 방식 : CSR, SSR, SSG, ISR
상단으로

티스토리툴바