CSR과 SSR은 어떻게 다른가(간단 정리)
CSR이란
- client side rendering의 줄임말로 단어 그대로 클라이언트 측에서 렌더링을 진행하는 것을 의미
SSR이란
- server side rendering의 줄임말로 서버 측에서 렌더링을 진행
그래서 뭐가 다르다고?
-
CSR : 브라우저에 접속하면 일단 비어있는 HTML을 띄워준다.(화면에 아무것도 안뜬다는 말) 이후에 서버쪽에서 보내주는 JSON 파일을 받는다. 브라우저에서 해당 JSON파일로 화면을 그린다. 그제서야 화면에 모든 HTML과 CSS가 그려지고 인터렉션도 바로 가능하다.
-
SSR : 브라우저에 접속하면 서버가 만들어둔 HTML을 바로 받아서 띄운다.(바로 페이지를 그림) 이후에 JS파일을 다운받는다. 그제서야 인터렉션이 가능해진다.
장단점
- CSR
- 장점
- 빠른 인터렉션 </br>화면이 렌더링 되고 난 이후에 바로 인터렉션이 가능하고 페이지 이동 시 새로고침 되지 않기 때문에 어색함이 없고 빠르게 페이지를 그릴 수 있다.
- 비교적 적은 서버 요청 횟수 </br>또한 서버에서 한번에 파일을 모두 받아오기 때문에 서버 요청 횟수가 SSR에 비해서 적은 편이다.
- 단점
- 첫 렌더링 늦음 </br>처음에 페이지 렌더링이 조금 늦는다고 느껴진다는 있음
- SEO 비친화적 </br>처음 접속했을때 비어있는 HTML로 빈 페이지를 보여주기 때문에 SEO에 좋지 않을 수 있다.
- 장점
- SSR
- 장점
- 빠른 렌더링 </br>첫 화면이 빠르게 뜨기 때문에 사용자 입장에서는 사이트가 빠르다고 느낄 수 있다.
- SEO 친화적 </br>페이지를 처음 로드하는 속도가 빠르고 이미 채워져있는 HTML을 받아서 렌더링 하기 때문에 SEO에 친화적이다.
- 단점
- 느린 인터렉션 </br>JS를 받기 전 까지는 인터렉션이 되지 않기 때문에 행동이 느리게 작동한다.
- 페이지 이동시 서버 호출 </br>페이지 이동시 렌더링 순서를 처음부터 반복하기 때문에 다소 어색하고 느리게 느껴질 수 있다.
- 장점