런타임 중에 정적 페이지를 만들거나 업데이트되게 해주는 SSG와 SSR의 하이브리드 솔루션입니다

설명

  • ISR(증분 정적 재생성)은 전체 사이트를 다시 빌드할 필요 없이 페이지별로 정적 생성을 사용할 수 있게 해준다.

  • 즉, Static Site Generator 와는 달리 ISR은 데이터가 업데이트 되면 해당 페이지만 다시 생성하고 나머지 페이지는 그대로 유지할 수 있다.

  • Next.js에서 제공하는 기능이기도 하다.

  • 동작 방식은 아래와 같다.

    1. SSR과 달리 즉시 placeholder 및 스켈레톤과 같은 대체 페이지(fallback page) 가 제공된다.
    2. 데이터가 확인되면 최종 페이지가 캐시되고, SSG와 마찬가지로 캐시된 버전의 페이지를 받게 된다.
    3. 데이터가 업데이트되면 변경된 페이지만 다시 생성하고 캐시를 업데이트 한다. (백그라운드에서 이루어짐)
    4. 재검증시에도 먼저 캐시된 버전의 페이지를 받고, 업데이트된 버전을 받아 항상 빠른 응답을 받을 수 있다.
  • 다시 말해, SSG처럼 정적 콘텐츠의 장점을 가지며 동시에 동적인 데이터 업데이트를 처리할 수 있다.


장점

  • 빠른 사용자 경험 : SSR과 달리 페이지가 즉시 제공되어(fallback page) 사용자 경험이 좋아진다.

단점

  • 페이지 디자인에 종속 : 웹 페이지 디자인 요소가 FCP를 지연시킬 수 있다.
    • FCP(First Contentful Paint) : 사용자에게 의미 있는 콘텐츠가 표시되는 시점
    • 새로운 데이터가 도착하기 전까지는 이전에 캐시된 버전의 페이지가 표시되며 이는 페이지의 크기와 복잡성, 서버의 성능에 따라 달라질 수 있다.