- Server Components
- Streaming with Suspense
- Server Actions
리액트에서 제공하는 리액트 서버 컴포넌트다.
넥스트 13부터는 서버 컴포넌트가 기본 컴포넌트가 됐다.
기본 컴포넌트로 지정한 이유는 성능 최적화, 개발자들이 서버 컴포넌트에 빠르게 적응할 수 있도록 만들기 위해서라고 한다.
서버에서 렌더링이 된다.
클라이언트로는 RSC Payload 라는 특수한 객체를 내려보내 클라이언트 컴포넌트와 상호작용할 수 있도록 했다고 한다.
서버 렌더링에 사용
넥스트의 서버 렌더링에는 3가지 전략이 있다.
- 정적 렌더링
- 동적 렌더링
- 스트리밍
CDN (Content Delivery Network)
전세계 여러 지역에 분산되어있는 서버로 주로 정적 데이터를 저장하는데 사용된다고 한다.
클라이언트와 서버의 중간에 위치하여 클라이언트에서 빠르게 캐싱된 파일을 받아볼 수 있도록 한다.
- CDN은 기본적으로 캐싱 기능이 적용되어 있다.
- 그러므로 개발자가 따로 서버 설계시 캐싱 기능에 대해 고려하지 않아도 된다.
Dynamic Function
- Cookies(), Headers() 함수: 서버 컴포넌트에서 이 함수들을 사용하는 경우에는 요청 타임에 전체 경로가 동적 렌더링된다.
- searchParams: Page.tsx 파일에서 prop으로 사용하는 경우 요청 타임에 해당 페이지를 동적 렌더링 방식으로 변경한다.