[ Next.js ] SSR SSG CSR 사용해야 할때

이준혁·2024년 7월 16일
post-thumbnail

서버 사이드 렌더링(SSR)

SSR이란?

서버 사이드 렌더링(SSR)은 각 요청 시마다 서버에서 HTML을 생성하여 클라이언트에 제공하는 방식입니다.

언제 SSR을 사용해야 할까요?

  1. 실시간 데이터가 필요한 경우: 사용자에게 최신 데이터를 제공해야 할 때 SSR을 사용합니다. 예를 들어, 뉴스 사이트나 주식 정보 페이지처럼 매번 최신 정보를 제공해야 하는 경우 적합합니다.
  2. SEO가 중요한 페이지: 검색 엔진 최적화(SEO)가 중요한 페이지에서 SSR은 좋은 선택입니다. 서버에서 미리 HTML을 생성하기 때문에 검색 엔진 크롤러가 페이지를 쉽게 인덱싱할 수 있습니다.
  3. 사용자 맞춤형 콘텐츠: 로그인한 사용자에게 맞춤형 데이터를 제공해야 할 때 SSR을 사용하면 유용합니다. 각 사용자마다 다른 데이터를 서버에서 렌더링하여 제공할 수 있습니다.

정적 사이트 생성(SSG)

SSG란?

정적 사이트 생성(SSG)은 빌드 시점에 HTML을 생성하여 각 요청 시마다 동일한 HTML을 제공하는 방식입니다.

언제 SSG를 사용해야 할까요?

  1. 변경되지 않는 콘텐츠: 자주 변경되지 않는 콘텐츠에 대해 SSG를 사용하면 효율적입니다. 예를 들어, 블로그 게시물, 문서 페이지, 제품 소개 페이지 등에 적합합니다.
  2. 빠른 로딩 속도: 미리 생성된 정적 파일을 제공하기 때문에 페이지 로딩 속도가 빠릅니다. 이는 사용자 경험을 향상시키고, SEO에도 긍정적인 영향을 미칩니다.
  3. SEO가 중요한 페이지: SEO가 중요한 페이지에서 SSG는 좋은 선택입니다. 미리 생성된 HTML을 제공하므로 검색 엔진 크롤러가 페이지를 쉽게 인덱싱할 수 있습니다.

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

CSR이란?

클라이언트 사이드 렌더링(CSR)은 모든 HTML, CSS, JavaScript를 클라이언트에 전달하고, 브라우저에서 렌더링하는 방식입니다. Next.js에서 CSR을 구현하기 위해 특별한 설정이 필요하지 않으며, 기본적으로 모든 페이지는 CSR을 사용합니다.

언제 CSR을 사용해야 할까요?

  1. 실시간 인터랙션: 사용자와의 실시간 상호작용이 많은 페이지에서 CSR이 유용합니다. 예를 들어, 대시보드, 채팅 애플리케이션, 게임 등이 해당됩니다.
  2. 초기 로딩 속도가 중요하지 않을 때: 초기 로딩 속도가 중요하지 않거나, 앱 내에서 많은 페이지 전환이 이루어지는 경우 CSR을 사용할 수 있습니다.
  3. 복잡한 사용자 인터페이스: 복잡한 UI를 가진 애플리케이션에서 CSR을 사용하면 클라이언트에서 효율적으로 상태를 관리하고 업데이트할 수 있습니다.

Next.js에서 제공하는 SSR, SSG, CSR 렌더링 방식은 각각의 장단점이 있어 프로젝트의 요구 사항과 사용자 경험을 고려하여 적절한 렌더링 방식을 선택하는 것이 중요합니다. 이를 통해 최적의 성능과 사용자 경험을 제공할 수 있습니다.

  • SSR: 실시간 데이터, SEO가 중요한 페이지, 사용자 맞춤형 콘텐츠
  • SSG: 변경되지 않는 콘텐츠, 빠른 로딩 속도, SEO가 중요한 페이지
  • CSR: 실시간 인터랙션, 초기 로딩 속도가 중요하지 않은 경우, 복잡한 사용자 인터페이스

0개의 댓글