
SSR이라는 방식은 페이지 내부의 데이터를 항상 최신 버전으로 유지할 수 있다는 장점은 있지만, 만약 데이터의 응답 속도가 너무 느려지게 된다면 모든게 늦어지기 때문에 사용자에게 불편함을 제공할 수 있다는 단점이 존재합니다.
정적사이트 생성(SSG) 방식은 SSR의 단점을 해결하는 사전 렌더링 방식으로 빌드 타임에 페이지를 미리 사전렌더링 해 둡니다.
SSG는 npm run build같은 빌드타임(build time)에서 사전 렌더링을 진행해서 페이지를 미리 한 번만 생성을 합니다.
그러고 나서 다시는 새롭게 페이지를 생성하지 않습니다.
빌드가 완료된 이후에는 Next앱이 실제로 가동되었을 때, 브라우저가 접속 요청을 보내게 되면 Next.js 서버는 빌드 타임에 미리 만들어 두었던 페이지를 매우 빠른 속도로 응답하게 됩니다.

그럼으로 사용자들은 매우 빠른 시간 안에 완성된 화면을 볼 수 있게 됩니다.
빌드타임에서만 렌더링이 발생하기 때문에 빌드타임 이후에 발생하는 접속 요청들에는 굉장히 빠른 속도로 만들어둔 페이지를 응답할수 있기에 렌더링이 오래 걸려도 문제가 되지 않습니다.

즉, SSG의 장점으로
사전 렌더링에 많은 시간이 소요되는 페이지더라도 사용자의 요청에는 매우 빠른속도로 응답이 가능하다는 것입니다.
하지만, SSG는 빌드타임 이후에 다시는 페이지를 새롭게 사전 렌더링 하지 않기 때문에 언제 접속 요청을 보내게 되더라도 매번 똑같은 페이지만 응답하게 됩니다.
그렇기에 최신 데이터 반영은 어렵다는 단점이 존재합니다.
그래서 SSG 방식은 최신 데이터가 빠르게 반영되어야 하는 페이지들 보다는 데이터가 자주 업데이트 되지 않는 정적 페이지들에 훨씬 적합한 사전 렌더링인 방식입니다.