개발관련/프론트엔드 지식

SSR vs SSG: Next.js의 렌더링 대결! 어떤 것을 택할까?

2023. 4. 21. 21:12
목차
  1. next.js SSR(서버사이드 렌더링) vs SSG(정적 사이트 렌더링)
  2. 🚀 SSR (Server Side Rendering) - 서버에서 화면 조립
  3. 🌐 SSG (Static Site Generation) - 빌드 시점에 페이지 생성
  4. 그렇다면 SSG의 단점은? 😟
  5. 🤹‍♂️ SSR과 SSG, 언제 뭐를 써야 할까요?
  6. 🔥 SSR 는 언제 쓸까 :
  7. 🏎 SSG 는 언제 쓸까:
  8. 💡 결론
반응형

next.js SSR(서버사이드 렌더링) vs SSG(정적 사이트 렌더링)

🎉🎉 안녕하세요, 프론트엔드 개발자 행님덜! 오늘은 우리가 모두 사랑하는 Next.js에서 SSR과 SSG를 비교하는 화끈한 포스팅으로 찾아왔습니다! 두 기술의 차이점을 알아보고, 언제 어떤 것을 선택해야 할지 살펴보겠습니다. 시작하겠습니다! 🍿🥤

 

🚀 SSR (Server Side Rendering) - 서버에서 화면 조립


SSR은 말 그대로 서버에서 페이지를 렌더링하는 기술이에요. 요청이 들어올 때마다 서버에서 페이지를 새롭게 생성해서 클라이언트에 전달해 주는 거죠. SSR의 장점은 무엇일까요? 🤔

SEO 친화적: 구글, 네이버 등 검색 엔진이 페이지를 더 잘 이해하고 색인화할 수 있어요.


초기 로딩 성능: 사용자에게 보여주기 전에 서버에서 렌더링이 완료되기 때문에 초기 로딩 성능이 좋아집니다.
하지만 모든 게 장점만 있는 건 아니죠. 🙅‍♂️

서버 부하 증가: 매번 요청에 대해 서버에서 렌더링을 해야 하기 때문에 부하가 증가합니다.

 

next.js SSR 렌더링

 getServerSideProps 메소드에서 서버에서 불러올 data를 fetch할 수 있습니다.

export async function getServerSideProps(context) {
  return {
    props: {},
  }
}
반응형

🌐 SSG (Static Site Generation) - 빌드 시점에 페이지 생성


SSG는 빌드 시점에 페이지를 생성하는 기술이에요. 빌드된 페이지는 정적 파일로 저장되어, 클라이언트의 요청에 따라 그대로 전달됩니다. 어떤 장점들이 있을까요? 🧐

빠른 페이지 응답 속도: 이미 생성된 정적 파일을 전달하므로, 페이지 응답 속도가 매우 빠릅니다. 그로 인해 SEO에도 유리합니다.
서버 부하 감소: 렌더링 작업이 빌드 시점에 이루어지기 때문에, 서버 부하가 줄어듭니다.
CDN 활용 용이: 정적 파일을 쉽게 CDN에 배포할 수 있어 전 세계 사용자들에게 빠르게 전달할 수 있습니다.

 

그렇다면 SSG의 단점은? 😟


데이터 변경 시 빌드 재실행: 데이터가 변경될 경우, 빌드를 다시 실행해야 합니다.

 

next.js SSG 작성 예시

export async function getStaticPaths() {
  return {
		// 미리 빌드할 경로를 params를 통해서 정희합니다.
    paths: [{ params: { id: '1' } }, { params: { id: '2' } }],
  }
}

export async function getStaticProps(context) {
  return {
		// 정적으로 사용할 props를 전달합니다.
    props: {},
  }
}

 

🤹‍♂️ SSR과 SSG, 언제 뭐를 써야 할까요?


각각의 기술은 자신만의 장단점이 있어요. 어떤 상황에서 어떤 기술을 사용할지 결정하기 위해서는 몇 가지 고려 사항이 있습니다. 🎭

 

🔥 SSR 는 언제 쓸까 :


데이터가 실시간으로 변하는 웹 사이트: 뉴스, 쇼핑몰 등 실시간으로 데이터가 업데이트되는 경우에는 SSR이 적합합니다.
SEO 최적화 필요: 검색 엔진 노출이 중요한 경우, SSR이 좀 더 CSR에 비해 SEO 친화적인 해결책입니다.

 

🏎 SSG 는 언제 쓸까:

정적 콘텐츠가 많은 웹 사이트: 블로그, 문서, 소개 페이지 등 정적 콘텐츠가 많은 웹 사이트에는 SSG가 적합합니다.
전세계 사용자 대응: CDN을 활용해 전 세계 사용자에게 빠른 페이지 응답 속도를 제공하려면 SSG가 적절합니다.

SEO가 최우선: SEO가 중요한 페이지. 응답이 빠르기 때문에 검색엔진이 우선순위로 하는 경향이 있습니다.

인증이 필요한 사이트 : 인증 정보는 미리 생성할수 없기 때문에 SSR이 유리 합니다.

 

💡 결론


SSR과 SSG는 각각의 상황에 따라 적절한 기술을 선택해야 합니다. 특정 상황에 따라 두 기술을 혼용해서 사용하는 것도 가능하니, 프로젝트의 요구 사항과 목적을 분석하여 최적의 솔루션을 찾아보세요!

그럼 여기까지 포스팅을 마치겠습니다. 오늘도 화끈한 개발 얘기로 함께할 수 있어 기뻤어요! 🎉 

다음에 또 놀러오세요~! 👋

반응형
저작자표시 비영리 변경금지 (새창열림)

'개발관련 > 프론트엔드 지식' 카테고리의 다른 글

OWASP Top 10: 웹 애플리케이션 보안 취약점  (0) 2023.07.09
프론트 엔드 면접 관련 공부  (0) 2023.05.11
Next.js 이 4가지는 뭐가 다를까요? 🤔 getInitialProps / getServerSideProps / getStaticPaths / getStaticProps  (0) 2023.04.25
CORS에 대한 모든 것  (1) 2023.04.04
프론트엔드 면접 질문 웹 브라우저 렌더링 원리 feat. ChatGPT  (0) 2023.03.31
  1. next.js SSR(서버사이드 렌더링) vs SSG(정적 사이트 렌더링)
  2. 🚀 SSR (Server Side Rendering) - 서버에서 화면 조립
  3. 🌐 SSG (Static Site Generation) - 빌드 시점에 페이지 생성
  4. 그렇다면 SSG의 단점은? 😟
  5. 🤹‍♂️ SSR과 SSG, 언제 뭐를 써야 할까요?
  6. 🔥 SSR 는 언제 쓸까 :
  7. 🏎 SSG 는 언제 쓸까:
  8. 💡 결론
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
개발자 Dane
개발자 Dane
IT / 테크 전문 크리에이터 데인 입니다.
개발자 Dane
개발자 Dane의 IT 전문 블로그
개발자 Dane
반응형
  • 분류 전체보기 (170)
    • 개발관련 (24)
      • 프론트엔드 지식 (11)
      • 매일 코딩 테스트 챌린지 (27)
      • 자바스크립트 팁 (32)
      • 리액트 (11)
    • 얼리어답터 (11)
    • 팁 (13)
    • 게임 (18)
      • 디아블로2레저렉션 (16)
    • 운동하는 후니 (2)
전체
오늘
어제

태그

  • 도커
  • 레저렉션
  • 문자열정렬
  • 자바스크립트
  • 디아블로2레저렉션
  • React
  • yarn
  • gos
  • PNP
  • 룬워드방패
  • 애플페이
  • 리액트
  • docker
  • 바바리안
  • 디아블로2
  • Gatsby
  • 문자열
  • 디아블로4
  • 아이폰
  • 코딩테스트
  • GOS해제
  • javascript
  • Next.js
  • 갤럭시긱벤치
  • 갤럭시소비자기만
  • vscode
  • AWS
  • 프로그래머스
  • 갤럭시성능뻥튀기
  • s3

최근 댓글

hELLO · Designed By 정상우.
개발자 Dane
SSR vs SSG: Next.js의 렌더링 대결! 어떤 것을 택할까?
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.