Server Side Rendering

SSR은 요청 문맥을 읽고 바로 HTML을 만든다

캐시보다 신선도와 개인화가 중요한 페이지는 요청마다 서버에서 데이터, 세션, 헤더를 확인한 뒤 응답을 완성합니다.

SSR로 돌릴 신호

fresh 재고, 날씨, 시세처럼 오래된 값이 곧 오류가 되는 데이터
session 로그인 사용자, 권한, 장바구니처럼 요청마다 달라지는 값
scale 모든 동적 경로를 빌드하기 어려운 큰 데이터 집합

요청 하나의 내부 흐름

1 브라우저 요청이 라우트와 쿠키, 헤더 정보를 함께 보냅니다.
2 서버 컴포넌트가 no-store 또는 동적 API로 최신 데이터를 읽습니다.
3 완성된 HTML을 먼저 보내고 이후 클라이언트 JS가 하이드레이션합니다.

장점

최신 데이터와 SEO를 동시에 얻고, 사용자별 화면을 서버에서 안정적으로 분기합니다.

비용

요청마다 서버 작업이 생기므로 API 지연, 동시 접속, 캐시 미사용 비용을 봐야 합니다.

검증

새로고침 때 서버 로그와 timestamp가 바뀌면 요청 시점 렌더링을 확인할 수 있습니다.