본 문서에서는 CSR(Client Side Rendering)과 SSR(Server Side Rendering)의 특성과 장단점에 대한 사항을 논의한다.
최종수정일 : 2023.06.20
(그림삽입)
위 그림에서 볼 수 있는 바와 같이, 웹 서비스는 표현(Display)와 통신(Data Communication), 연산(Compute)의 세 가지 과정으로 이루어져 있다. 과거에는 연산 과정 없이 형식에 짜놓은 시트를 통신을 통해 받아와 그대로 표현하는 정적 방식을 사용했으나, 기술발달과 사용자의 요구로 인해 연산을 통해 표현을 변경하고, 특히 로컬 머신의 성능 증가에 따라 통신을 최소화 한 SPA방식도 발달하게 되었다.
주요한 쟁점은, 연산을 클라이언트와 서버측 중 어느쪽에서 할 것인지, 통신을 어떻게 빠르고 효율적으로 할 것인지 두 측면에 대해 주요하게 다루어진다.
CSR의 경우 클라이언트가 서버에서 HTML, CSS, JS(bundle.js)를 전송받으며, 위 파일에 내장된 서비스 구조와 렌더링 로직을 통해 DOM을 구성하며 JS는 브라우저에 내장된 엔진에서 실행된다.
SSR의 경우 서비스 구조와 렌더링 로직을 서버측에 업로드하여, 서버측에서 연산을 처리하도록 한다.
렌더링 로직이 어느쪽으로도 갈 수 있기 때문에, JavaScript 번들이 어디에서 실행되느냐에 따라 자바스크립트 컴포넌트가 렌더링을 위한 데이터를 받아오는 과정 또한 달라질 수 있다.
이러한 내용은 아래 링크를 참조하여 추후에 정리한다(2023.06.20)
https://tech.kakaopay.com/post/react-server-components/