정적 웹과 서버 템플릿에서 CSR·SPA를 거쳐 현대적 SSR과 Streaming SSR에 이른 렌더링의 변화를 'HTML을 누가 만드는가'라는 기준으로 정리한다. 당근 동네생활 웹뷰가 초기 로딩을 줄이려 자체 React SSR을 도입하고 Suspense·느린 API의 한계를 Streaming으로 보완한 실제 구현을, 얻는 것과 치르는 운영 비용까지 함께 이야기한다.
핵심 포인트- 서버 템플릿은 뷰 로직 중복과 흰 화면 지연이, CSR·SPA는 동적 메타데이터·SEO 약점과 큰 번들 초기 실행·메모리 누수가 한계였고, Node.js가 서버·브라우저의 동일 뷰 로직 공유를 가능케 해 현대적 SSR이 등장
- 당근은 Fastify + 사내 boilerplate + Stackflow로 SSR을 구성했지만 renderToString이 Suspense를 만나면 CSR로 전환돼, React Query 선조회 + 고정 UI 렌더링의 절충만으로도 웹뷰 체감 속도를 크게 개선
- Streaming SSR은 Suspense 밖 셸을 먼저 보내고 renderToPipeableStream 청크를 점진 전달하며, 배포별 정적 번들을 S3에 누적해 구버전 404를 막고 빌드타임 변수를 런타임으로 옮겨 중복 빌드를 제거
왜 읽나SSR·Streaming 도입을 검토하며 서버 운영·배포·관측 비용까지 저울질해야 하는 프론트엔드 팀에게, 검증된 프레임워크 선택의 판단 근거를 준다.