인프런 커뮤니티 질문&답변

방황하는물고기님의 프로필 이미지
방황하는물고기

작성한 질문수

한 입 크기로 잘라먹는 Next.js(15+)

1.2) Next.js 사전렌더링 이해하기

사전 렌더링, SSR 질문

해결된 질문

작성

·

114

0

사전렌더링에서 설명해주신 저 일련의 과정들이 SSR, ISR, SSG 모두 공통적으로 동일하게 해당하나요?

답변 1

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 방황하는 물고기님 이정환입니다.

말씀하신 "일련의 과정"이 HTML 생성 및 전달, JS Bundle 전달, Hydration 과정을 의미하시는 거겠죠? 그렇다면 맞습니다.

SSR, SSG, ISR 모두 사전 렌더링의 개별 유형으로써 위 과정들을 모두 동일하게 진행합니다. 그러나 타이밍이 조금씩 다르다고 생각하시면 될 것 같아요

일례로 SSR의 경우 서버측에서 HTML을 생성하는 과정이 매 요청이 들어올 때 마다 발생하지만 SSG의 경우 빌드타임에 미리 HTML을 생성해 놓게 됩니다. 또 ISR의 경우에는 이런 SSG의 특징에 더해 특정 시간을 주기로 HTML을 재 생성 하기까지 합니다.

SSR에서 매 요청마다 HTML을 생성한다면, Hydration과정도 매 요청마다 발생하는걸까요?

그리고 JS Bundle을 서버에서 받아오는 경우는 딱 1번만 이루어지는걸까요?

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

네 초기 접속 과정을 계속 수행한다면 매 요청마다 발생합니다. 그러니까 새로고침을 계속 누르면 매번 HTML 생성부터 하이드레이션까지 발생하게 된다는 것이죠, JS Bundle을 받아오는 과정 또한 역시 매 초기 접속 요청마다 수행됩니다.

그러나 오해하시면 안되는 점이 클라이언트 사이드에서 페이지를 이동할 경우 즉 Link 컴포넌트나 useRouter를 통한 페이지 이동을 수행한 경우 이때에는 CSR 방식으로 페이지가 이동됩니다. 이 내용은 향후 챕터에서 다루니 참고 부탁드립니다.

방황하는물고기님의 프로필 이미지
방황하는물고기

작성한 질문수

질문하기