Client Side Rendering
서버에서 처리 없이 클라이언트에서 렌더해야 하기 때문에 자바스크립트가 모두 다운되고 실행이 끝나기 전까지 사용자는 볼 수 있는게 없다.
Server Side Rendering
서버에서 렌더링 준비를 마치고 클라이언트에 전달
처음 로딩되는 시간은 SSR이 빠르다.
CSR은 전체 페이지 구성을 다운로드 한 후에 보여주고, SSR은 첫 로딩시 필요한 HTML과 스크립트만 불러오기 때문이다.
하지만 이후 페이지 이동은 CSR이 빠르다.
이미 다른 페이지의 구성요소들도 다운받아놓은 상태이기 때문이며, SSR은 페이지를 로딩 할 때마다 불러오기를 다시 하기때문에 느리다.
다른 글들을 찾아 보았을 때 CSR의 경우 빈 HTML이라 크롤링이 되지 않는다는 글들이 많아서 이 부분은 나도 많이 헷갈렸었다.
2019년도 부터 구글은 JS까지 렌더링 하여 크롤링할 수 있다는 글도 있고....
또한 CSR에서 Pre-rendering(미리 준비된 정적 페이지를 만든다)
을 가능하게 해주는 라이브러리가 존재하여 SEO에 대응할 수 있으며, header의 meta 태그를 이용하여 설정해주는 방법도 있다.
header에 meta태그가 포함되면 SEO도 가능하며 링크를 공유할 때 썸네일, 텍스트 등을 노출할 수 있다. 이또한 라이브러리로 해결은 가능하다.
SSR이 페이지 이동 시 매번 서버에 요청을 하기 때문에 자원이 더 많이 사용된다.
장점과 단점이 공존하니 프로젝트마다 성격이 다를테니 어떤걸 사용할 지는 그때 맞춰서 골라야 할 것 같다.
공부하며 정리&기록하는 ._. 씅로그