[ Next.js ] SSG, ISR, SSR, CSR

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

1. SSG (Static Site Generation)

SSG는 빌드타임(build-time) 때만 컴포넌트를 생성하고, 이후는 변하지 않는 페이지로 가정하여 static 컴포넌트를 제공하는 방식입니다.

  • 특징:

    • 한 번 빌드된 페이지는 변하지 않음
    • 성능 최적화에 유리
    • SEO 친화적
  • 사용 시나리오:

    • 자주 변경되지 않는 콘텐츠(블로그, 문서 사이트 등)
    • 데이터가 거의 변하지 않는 경우

2. ISR (Incremental Static Regeneration)

ISR은 빌드타임(build-time) 때 컴포넌트를 초기 생성하고, 이후 일정 주기마다 변화를 적용하여 컴포넌트를 제공하는 방식입니다.

  • 특징:

    • 초기 빌드 후에도 주기적으로 페이지 갱신
    • 성능 최적화와 데이터 신선도 균형 유지
  • 사용 시나리오:

    • 데이터가 가끔씩 변하는 경우(제품 목록, 뉴스 기사 등)
    • 실시간으로 데이터를 자주 갱신할 필요는 없지만 최신 상태를 유지하고 싶은 경우

3. SSR (Server Side Rendering)

SSR은 컴포넌트 요청이 있을 때마다 서버에서 데이터를 가져와 최신 데이터로 페이지를 렌더링하는 방식입니다.

  • 특징:

    • 모든 요청마다 최신 데이터 제공
    • SEO 친화적
    • 서버 부하 증가 가능
  • 사용 시나리오:

    • 데이터가 실시간으로 자주 변하는 경우(소셜 미디어, 주식 시세 등)
    • 각 요청마다 최신 데이터를 제공해야 하는 경우

4. CSR (Client Side Rendering)

CSR은 컴포넌트 요청이 있을 때마다 클라이언트에서 데이터를 가져와 최신 데이터로 페이지를 렌더링하는 방식입니다.

  • 특징:

    • 최초 로딩 속도는 느리지만 이후 인터랙션은 빠름
    • SEO에 불리할 수 있음
    • 클라이언트 측에서 데이터 처리
  • 사용 시나리오:

    • 사용자 인터랙션이 많은 애플리케이션(대시보드, 채팅 애플리케이션 등)
    • SEO가 중요한 요소가 아닌 경우

0개의 댓글