Static Rendering
- 데이터가 캐싱되고 동적 함수가 존재하지 않으면 해당 컴포넌트는 정적인 렌더링을 서버에서 진행하게 됨
- 정적 렌더링 시에는 모든 렌더링 작업이 미리 완료되고 사용자에게 가까운 CDN에서 데이터를 가져오게 할 수 있기 떄문에 성능 향상에 도움을 줌
Static Data Fetching
- Next.js에서 데이터를 fetch()로 가져올 때 따로 cache 옵션을 설정하지 않으면 서버에 캐시데이터를 저장함
- 캐시된 데이터는 fetch에 revalidate 옵션이 있을 때 재검증되어 다시 설정되게 됨
Dynamic Rendering
- 정적 렌더링 중에 동적 기능이 필요하거나, 동적 fetch 요청이 들어온 경우 Next.js는 전체 경로를 동적으로 렌더링하도록 전환함
header() 또는 쿠키를 사용하거나, 클라이언트 구성 요소에서 fetching을 하거나, Page 파일에서searchParams을 사용하는 경우가 해당됨
Dynamic Data Fetches
- fetch시 cache 옵션에 no-store를 사용하거나, revalidate 값을 0 으로 설정하면 동적인 데이타 fatching이 가능함
출처:
https://beta.nextjs.org/docs/rendering/static-and-dynamic-rendering