CSR
- 서버에서 기본구조와 기능을가진 빈 껍데기인 index.html을 클라이언트로 보낸다
- 클라이언트에서는 index.html에 선언된 js를 다운받아서 실행해서 데이터를 가지고와서 (여기서 번들링된 js 모든 컴포넌트의 코드가 들어있다.)
- 동적으로 화면을 생성 후 클라이언트에게 화면을 제공한다.
- 첫 페이지 렌더링 후 후속 탐색이 빠름 - 변경이 필요한 데이터는 서버에 요청해서 요청한 부분만 바꿔줌
- 검색엔진 최적화 대응이 어려울 수 있다. 초기 html에 모든 메타데이터가 포함되어있지않기도하고 적용도 까다롭다.
SSR
- 서버에서 페이지 구성을 다 마치고 클라이언트로 보내준다.
- layout shift 줄이기 - 사용자에게 페이지를 보여준 이후에 뒤늦게 다른 요소들이 삭제 추가 되면서 레이아웃이 밀리는 현상이다.
- 최초 페이지 진입이 서버작업의 성능에 따라 달라진다.
- 검색 엔진 최적화에 좋다. - 검색엔진 로봇이 페이지에 진입해서 html 정보를 읽어가는데, 컨텐츠가 초기부터 페이지에 있어서 좋다.
- 보안에 좋다. - 인증같은 민감한 작업을 서버에서 처리해서 브라우저에는 결론만 제공하여 보안에 좋다.
- 서버코드를 고려해야 한다.
SSG (static site generator)
- 빌드하는 동안 html 페이지를 사전에 만들어서 정적 파일로 제공
- 빠른 페이지 로드