지난 framer-motion으로 CSR 한계 극복하기! 편을 작성하면서, 그동안 첫 개발을 클라이언트 사이드 렌더링(CSR)으로 시작해서 CSR에 익숙해지면서, 브라우저 너머에 웹서버가 있다는 사실을 잊어버렸던 것 같습니다.
그래서 CSR, SSR의 개념에 대해서 한번 더 복습하면서 다시금 웹 렌더링 방식을 상기시키면 좋겠다는 생각이 들어 CSR vs SSR 정의,특징 및 차이에 대해서 간단하게 정리해보았습니다.
클라이언트 사이드 렌더링(CSR)은 브라우저가 페이지에 필요한 최소한의 HTML 페이지와 JavaScript를 다운로드합니다. 그런 다음 JavaScript를 사용하여 DOM을 업데이트하고 페이지를 렌더링하는 방식입니다.
페이지가 처음 로드된 후에는 필요한 데이터만 가져오면 되고 JavaScript는 전체 페이지를 새로 고칠 필요 없이 페이지의 일부를 다시 렌더링할 수 있으므로 동일한 웹 사이트의 다른 페이지로 이동하는 것이 일반적으로 더 빠릅니다.(SPA)
서버 사이드 렌더링은 기본적으로 서버에서 HTML, JavaScript를 만들고 렌더링을 모두 서버에서 진행하고 클라이언트에 넘겨주는 방식입니다.
클라이언트에서 요청할 때마다 각 상황에 맞는 HTML 파일을 넘겨주기 때문에 페이지가 여러 개로 작동됩니다. (MPA)
렌더링에서 브라우저와 서버의 역할을 분명하게 이해하는 것은 웹 개발에서 매우 중요한 부분이라는 것을 다시금 상기할 수 있는 좋은 기회였습니다.
CSR과 SSR 등 다양한 렌더링 방식은 결국 브라우저와 서버가 각각 어떤 역할을 맡는지에 따라 차이가 발생하며, 서비스의 목적에 따라 적합한 렌더링 방식을 선택할 수 있어야 한다는 것이 핵심인 것 같습니다. 다시 말해 주된 타깃 사용자와 서비스 특성에 맞게 선택해야 하는 부분인 것을 배울 수 있었습니다.
<참고자료 출처>