getStaticProps가 사전에 페이지를 생성한다는 건데 그외에 페이지에 대해서 나중에 만들면 그게 csr이랑 다른게 뭘까?
allback을 true로 설정할 때, Next.js에서는 라우트를 처리하는 방식이 조금 다르다고 한다.
다음은 fallback이 true일 때의 동작 방식과 클라이언트 측 렌더링 (CSR)과의 차이점을 설명한 것이다.
사전 생성된 페이지: getStaticPaths와 getStaticProps를 사용하여 몇몇 경로를 사전에 정적으로 생성합니다. 이것들은 빌드 시에 미리 생성된 정적 파일들입니다. 이러한 페이지들은 캐시에 저장되어, 다음에 같은 경로로의 요청에 빠르게 응답할 수 있습니다.
미리 정의되지 않은 경로에 대한 요청: fallback이 true로 설정되어 있으면, 라우트에 사전에 정의되지 않은 경로로 접근할 때에도 404 에러를 표시하지 않습니다. 대신에, 서버는 해당 경로에 대한 페이지를 동적으로 생성하고 응답합니다. 이것이 다이나믹 라우팅의 핵심입니다. 이 동적 생성된 페이지는 이후의 요청에서 사용될 캐시에 저장됩니다.
클라이언트 측 렌더링 (CSR)과의 차이: fallback이 true로 설정된 라우트에서 페이지가 처음 요청될 때, 서버 측에서 해당 페이지를 생성합니다. 이것은 서버 사이드 렌더링 (SSR)입니다. 이에 반해, 클라이언트 측 렌더링 (CSR)은 페이지를 브라우저에서 동적으로 생성하며, 초기 로딩 시에 비어있는 페이지가 표시될 수 있습니다.
요약하면, fallback이 true로 설정된 라우트에서는 초기 요청에 대한 페이지가 서버 측에서 동적으로 생성되며, 그 후에는 캐시에 저장됩니다. 이것은 사용자 경험을 향상시키고 검색 엔진 최적화를 강화할 수 있는 강력한 방법이며, 클라이언트 측 렌더링과의 주요 차이점 중 하나입니다.