SSR & MVC

SHIN's avatar
Aug 22, 2024
SSR & MVC
💡
웹 애플리케이션에서 클라이언트 측에서만 랜더링되던 부분을 서버에서도 랜더링해서 완전한 HTML 문서를 클라이언트에게 제공하는 기술 → 서버로부터 요청해서 받은 내용을 브라우저 화면에 표시해주는 기술
 
notion image
💡
  1. 클라이언트 요청 → 사용자가 접속하면 클라이언트는 서버에 요청을 전송
  1. 서버에서 데이터 로드 → 데이터는 API호출, DB Query등을 통해 로드
  1. 컴포넌트 랜더링 → 서버는 로드한 데이터와 함께 React 컴포넌트를 랜더링. 이때 컴포넌트는 사용자에게 보여질 최종 HTML을 생성하는데 사용
  1. 완성된 HTML 반환 → 이 HTML은 컴포넌트가 랜더링된 상태와 필요한 데이터 포함
  1. 클라이언트 렌더링 → 클라이언트는 받은 HTML을 브라우저에 랜더링. 이후에 클라이언트 측 JavaScript 코드가 실행되어 해당 페이지의 상효작용이 가능
 
 
 

MVC패턴 기반 애플리케이션의 데이터 흐름 구성

notion image
 
💡
1. Filtering - 처음 요청이 들어오면 필터링 단계에서 요청 처리 전 필요 작업 수행. → 보안, 로깅, 인코딩 처리 등 2. Dispatcher Servlet - OSIV 종료 → 예상치 못한 Lazy Loading 문제 발생 가능. 이 문제는 DB와의 연결 종료 후 데이터 로드시 발생 가능. 3. Controller 4. Service 5. Repository
정리
💡
1. 사용자가 애플리케이션에 요청을 보낼 때 이 요청은 필터링을 거쳐 DS로 전달 2. DS는 요청을 C로 전달, C는 요청 분석 후 필요한 비즈니스 로직 처리를 위해 S로 넘김 3. S에서는 트랜잭션 관리 및 필요한 데이터 로드 수행 후 DB 작업 필요 시 R을 호출하여 데이터 처리
Share article

SHIN