역시 최초 진입한 페이지의 html만 가져오고, 다른 페이지로 이동하여도 추가적인 html 요청은 없다.
다른 페이지에 대한 정보를 언제 가져오는지 알기위해 Fetch/XHR과 JS 탭을 확인한다.
최초 페이지에 진입하고 바로, 다른 페이지에 필요한 json과 js파일들을 모두 불러온다.
즉 최초 페이지는 SSG(또는 SSR)이라 html 파일을 받아와 FCP를 빠르게 하고, 다른 페이지들은 미리 js를 불러와두어 page routing을 할 때 CSR로 동작해 페이지 전환 속도까지 빠르게 한 것이다.
Next.js의 페이지 로드 속도가 빠른 이유는 알았으니 언제 해당 데이터들을 요청하는지 알아보고자 한다. Next Link에 대한 공식 문서를 읽어보아야한다. https://nextjs.org/docs/api-reference/next/link Link 컴포넌트에 prefetch prop이 있고 default값은 true이다. 이 경우 viewport에 Link가 있을 경우 해당 url에 대한 js와 json data를 요청하는 것이다. 이때, SSG일 경우 미리 계산된 json data를 받아올 수 있지만 SSR일 경우에는 받아올 수 없다(SSR은 페이지 요청 시에 data를 요청하기 때문에).