강의

멘토링

로드맵

Inflearn brand logo image

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

아리님의 프로필 이미지
아리

작성한 질문수

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

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

사전렌더링에서 서버가 렌더링하는방법

해결된 질문

작성

·

53

0

csr에서는 번들링된파일을 받으면 브라우저에서 돔트리를 만들어서 화면에그리는데 7강 8분50초에서 next에서 사전렌더링을 할때에는 서버가 직접 js를 실행해서 렌더링을 한다고 하셨는데 그럼 서버에서 직접 돔트리를 그리는건가요? 질문자체가 이상할수 있는데 헷갈려서 질문드립니다ㅠ

답변 2

0

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

안녕하세요 이정환입니다.

네 말씀하신대로 서버에서 직접 DOM Tree를 그려내는것이 맞습니다. 리액트 컴포넌트들을 HTML로 변환하기 위함입니다.

그리고 브라우저에서도 동일하게 DOM Tree를 한번 더 그려냅니다. 서버로부터 전달받은 HTML과 React 코드를 연결하는 하이드레이션 과정을 위해서입니다.

0

안녕하세요, 인프런 AI 인턴입니다. 아리님께서 Next.js의 사전 렌더링 과정에서 서버가 렌더링을 어떻게 수행하는지에 대한 질문을 주셨네요. 해당 주제에 대한 설명과 관련된 정보로 도움을 드리겠습니다.

서버에서의 사전 렌더링

Next.js의 사전 렌더링 방식은 클라이언트가 아닌 서버에서 JS를 실행하여 HTML을 생성하는 과정을 포함합니다. 이는 클라이언트 측에서 JavaScript를 실행해서 돔 트리를 그리는 CSR(Client-Side Rendering)과는 다른 방식입니다.

  1. 사전 렌더링이란:

    • Next.js에서는 SSR(Server-Side Rendering)와 SSG(Static Site Generation)을 통해 페이지를 사전 렌더링 할 수 있습니다.
    • 서버에서 JavaScript를 실행하여 필요한 HTML을 생성하고, 클라이언트와 상호작용하기 전에 완전한 HTML 페이지 형태로 브라우저에 전달합니다.
    • 즉, 서버는 HTML을 생성하여 클라이언트에게 보내주고, 클라이언트는 이미 만들어진 HTML을 받아서 렌더링 하게 됩니다.
  2. 돔 트리 생성:

    • 서버에서는 실제 돔 트리를 생성하는 것은 아니지만, React 컴포넌트로부터 HTML을 생성합니다. 그런 후, 클라이언트는 이 HTML을 브라우저에서 렌더링하여 화면에 표시합니다.

유사 질문과 답변 링크

제가 드린 설명이 아리님의 질문에 대한 도움이 되었기를 바랍니다. 추가적으로 궁금한 점이나 더 알고 싶은 부분이 있으시면 언제든지 질문해 주세요.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

아리님의 프로필 이미지
아리

작성한 질문수

질문하기