점진적(Incremental) 정적(Static) 재생성(Regeneration)의 약자. 기존에는 페이지 하나를 수정하려면 웹사이트 전체를 처음부터 다시 빌드해야 했다. ISR은 사이트 전체를 건드리지 않고, 만료된 특정 페이지만 백그라운드에서 새 HTML로 다시 생성해 교체하는 기술이다.
cache-control 헤더가 자동으로 설정된다.next build 시간을 늘리지 않고도 대규모 콘텐츠를 처리할 수 있다.const res = await fetch(URL, {
next: { revalidate: 3 }, // ★ 핵심: 3초 간격으로 데이터를 재검증(Revalidate)
});
const timeData = await res.json();
이 방식이 효율적인 이유는 사용자에게 대기 시간을 전혀 발생시키지 않기 때문이다. "오래된(Stale) 데이터를 먼저 응답하는 동안(While), 백그라운드에서 최신 데이터로 재검증(Revalidate)하는" 전략이다. 시간 순서대로 살펴본다.
10:00:00 기록) 이 첫 요청자만 짧은 로딩을 겪는다.10:00:00 데이터를 담은 HTML을 즉시 응답한다. (응답 속도 수 밀리초 수준)10:00:00 데이터를 즉시 반환하고, 동시에 백그라운드에서 API를 재호출해 캐시를 조용히 갱신한다.10:00:04)를 받아본다.