구글, 네이버와 같은 포털사이트에서 검색엔진을 볼 수 있다. 이 검색엔진들 즉, 각각의 사이트가 가진 검색봇은 쉬지 않고 여러 사이트를 방문하며 해당 사이트가 어떤 사이트인지 파악하는데, 서버사이드 렌더링 처리가 되지 않은 사이트는 초기 렌더링 시 데이터가 모두 비어 있게 되어 검색봇은 페이지가 무슨 페이지인지 알 수 없게 된다.
클라이언트 사이트 렌더링은 서버에서 전체 페이지를 한번 렌더링해서 그려주고나서 사용자가 새로운 작업을 요청할 떄 소스를 서버에서 제공받아 클라이언트가 해석하여 렌더링 하는 방식이다.
서버사이드 렌더링은 서버에 html문서를 요청하는 것이며,
클라이언트 사이드 렌더링은 브라우저에서 자바스크립트로 콘텐츠를 렌더링한다. CSR의 단점은 사용자가 첫화면을 보기까지 시간이 오래 걸릴 수 있다. 또한 추가적으로 필요한 데이터를 받아오기 때문에 첫 화면은 비어있을수 있다.
이를 보완하여 등장한 것이 서버사이드 렌더링(SSR)이다.
빌드(build)는 우리가 작성한 코드, 프로젝트를 실행 할 수 있는 형태로 만들어 주는 것이다.
빌드방식은 크게 SSR, SSG 방식으로 나눌 수 있다.
빌드할 때 매번 요청을 받을 때마다 서버에서 HTML을 그려서 전달하는 방식
빌드 할 때 페이지별로 HTML을 생성하고 요청을 받을 때마다 미리 만들어둔 것으로 응답하는 방식
NEXT는 SSG 빌드와 SSR빌드를 모두 지원한다.
터미널에서
yarn build명령어를 실행하면,
package.json파일의 scripts 부분의 build가 실행되고, 빌드된 프로덕션 코드가.next폴더에 된다.