
NextJS를 사용한 강의를 듣기 전에 NextJs에 사전에 공부하고, 공부한 내용을 정리할 계획이다.
Next.JS는 Vercel에서 개발한 React기반 프레임워크로, 빠른 성능과 SEO 최적화를 위해 서버 사이드 렌더링(SSR) 및 정적 사이트 생성 (SSG) 등을 지원한다.
사전 렌더링 (Pre-Rendering)
서버 사이드 렌더링 (SSR)
정적 사이트 생성 (SSG)
Incremental Static Regeneraton (ISR)
SEO 최적화
파일 기반 네비게이션
클라이언트 측에서 페이지 렌더링을 수행하는 방식
[장점]
상호작용성 : 클라이언트에서 페이지를 렌더링을 하므로 사용자와의 상호작용 매우 빠름.
서부 부하 감소 : 서버는 초기에 HTML만 제공하고 이후에는 클라이언트에서 데이터를 로드하고 모든것을 작업하기 때문에 서버 부하 감소한다는 장점이 있음.
자연스러운 앱 경험 : SPA로 구현되는 경우가 많은데, 이는 자연스러운 앱과 유사한 경험을 제공
[단점]
SEO 어려움 : CSR은 초기에 HTML에 콘텐츠가 없으므로 검색 엔진 최적화를 구현하기 어려움.
그외
서버에서 페이지를 미리 생성한 뒤, 사용자에게 페이지를 렌더링을 하는 방식
[장점]
SEO 최적화 : SSR 된 페이지들을 검색 엔진에 쉽게 색인화 가능.
초기 로딩 속도 개선 : 사용자에게 초기 콘텐츠를 더 빠르게 표시할 수 있음.
데이터 최신화 : 매 요청마다 최신 데이터를 가져올 수 있음
[단점]
서버 부하 : 매 요청마다 서버에서 페이지를 가져오면 서버 자원을 많이 사용할 수 있음
느린 네트워크 연결 시 : 서버에서 HTML 생성해서 가져오는데, 느린 네트워크의 영향을 받으면 초기 로딩 속도가 느려질 수 있음.
Static Site Generation는 페이지를 사전에 빌드 시점에서 생성하고 정적 파일로 제공하는 방식
ex) 주로 블로그, 포트폴리오 웹 사이트, 회사 홈페이지 등 정적인 사이트에 사용[장점] 빠른 초기 로딩 속도, SEO 우수, 서버 부하 적음
[단점] 동적 데이터 제한, 업데이트된 데이터에 대한 재빌드 필요