CSR은 Client Side Rendering의 약자로, 브라우저를 렌더링을 클라이언트쪽에서 하는것을 말한다.
CSR 방식은 서버에서 JS파일을 받아서 다운받고 DOM을 렌더링할때까지 기다려야하기때문에 초기 로딩속도가 느리고 초기에 아무것도 없는 빈뼈대의 HTML 파일을 전송 받기 때문에 SEO (Search Engine Optimization) 즉 검색최적화의 면에서 불리하다.
하지만 브라우저가 렌더링 된 후에 동적으로 페이지가 변경될때는 변경될 부분만 서버에 요청하면 되기때문에 구동속도가 SSR보다 빠르다.
또한 서버쪽에서는 빈뼈대의 HTML 파일만 전송하면 되기때문에 서버의 부하가 덜하다.
그리고 사용자측에서 라우팅과 연산 등의 계산을 모두 처리하기때문에 반응속도가 빠르고 UX도 우수하다.
SSR은 CSR과 반대로 브라우저 렌더링을 서버쪽에서 담당하는것을 말한다.
SSR은 CSR과 다르게 모든 데이터가 이미 HTML 안에 담겨져 있기때문에 SEO 면에서 유리하다.
또한 CSR은 JS파일을 기다려야해서 SSR에 비해 초기 구동 속도가 느렸지만, SSR은 CSR에 비해 초기 구동 속도가 빠르다.
하지만 초기 구동될때의 시점에서 모든 JS로직이 연동되기 전까지 사용자가 페이지를 이동하거나 작동시키려해도 아무 반응이 없을 수 있다.
사용자 입장에서는 브라우저가 모두 렌더링 된줄 알고 조작을 하려한건데, 아무 반응이 없는 상황이 나타날 수 있다.
SSR 은 TTV(time to view) 와 TTI (time to interact) 의 시점이 서로 맞지 않을 수 있다.