3.2 KiB
Incremental Static Regeneration (ISR)
📌 Brief Summary
Incremental Static Regeneration (ISR)은 정적 사이트 생성(SSG)의 매우 빠른 속도와 서버 사이드 렌더링(SSR)의 최신성(freshness)을 결합한 하이브리드 웹 렌더링 전략입니다 [1]. 전체 사이트를 다시 빌드할 필요 없이 백그라운드에서 특정 정적 페이지를 런타임에 선택적으로 업데이트 및 재생성할 수 있게 해줍니다 [2-4]. 제품 카탈로그나 뉴스 사이트처럼 주기적으로 변경되는 콘텐츠를 빠르게 제공하는 데 이상적인 방식입니다 [1, 5].
📖 Core Content
작동 프로세스 ISR은 서버 부하를 최소화하면서도 사용자에게 빠른 페이지를 제공하기 위해 다음과 같은 단계로 작동합니다 [1]:
- 빠른 초기 제공: 캐시에서 정적 페이지를 즉시 제공하여 로딩 속도를 극대화합니다.
- 재검증(Revalidation): 설정된 재검증 기간(revalidation period)이 만료되었는지 확인합니다.
- 백그라운드 재생성: 재검증 기간이 지난 경우, 백그라운드에서 페이지를 새로 재생성(Regenerate)합니다.
- 업데이트된 페이지 제공: 재생성이 완료되면, 이후 들어오는 다음 요청부터는 업데이트된 페이지를 제공합니다.
성능 및 SEO 이점 ISR 방식은 95-99%의 높은 캐시 적중률(Cache hit rate)을 보이며, 첫 바이트 도달 시간(TTFB)을 20-50ms 수준으로 단축할 수 있습니다 (전통적인 SSR의 경우 200-800ms) [1]. 서버 CPU 사용량은 백그라운드에서만 발생하므로 낮게 유지됩니다 [1]. 이러한 성능 향상은 검색 엔진 최적화(SEO) 및 코어 웹 바이탈(Core Web Vitals) 개선으로 직결됩니다 [1, 6]. 실제로 10,000개의 제품을 가진 전자상거래 사이트를 CSR에서 Next.js ISR로 마이그레이션한 사례에서는 TTFB가 50ms로 단축되고 LCP가 'Good(1.8s)' 등급으로 향상되었으며, 오가닉 트래픽이 70% 증가하는 결과를 얻었습니다 [7, 8].
사용 사례 및 구현 ISR은 매시간 또는 매일 업데이트되는 반정적(semi-static) 콘텐츠(예: 제품, 기사)에 가장 적합한 전략입니다 [5, 9]. Next.js와 같은 프레임워크를 통해 쉽게 구현할 수 있으며, 이 기능은 하이브리드 렌더링 아키텍처의 핵심을 이룹니다 [2, 8]. 실시간 데이터가 필수적인 환경이 아니라면, 인프라 비용과 로딩 시간을 절감할 수 있는 훌륭한 대안입니다 [10].
🔗 Knowledge Connections
- Related Topics: Static Site Generation (SSG), Server-Side Rendering (SSR), Time to First Byte (TTFB), Core Web Vitals
- Projects/Contexts: Next.js Framework, E-commerce Migration Case Study
- Contradictions/Notes: 소스에 특별한 모순점은 없으나, 주의할 점으로 콘텐츠 최신화가 설정된 재검증 주기(revalidate period)만큼 지연된다는 점이 명시되어 있습니다. 따라서 주식 가격, 실시간 채팅과 같은 '완전한 실시간(Real-time)' 반영이 필요한 데이터의 경우에는 ISR보다 Server-Side Rendering (SSR) 방식이 적합합니다 [1, 11].
Last updated: 2026-04-26