"매 static page 의 build-time 의 prerender + runtime 의 stale-while-revalidate 의 통한 fresh 의 hybrid". 매 Next.js 9.5 (2020) 의 introduction, 매 Vercel 의 patent (US 11,055,090), 매 modern 의 Next.js 15 App Router 의 revalidate + revalidateTag + revalidatePath 의 first-class.
매 핵심
매 ISR 동작
Build 시 page 의 prerender → static HTML + JSON.
Request 의 cached HTML 의 즉시 serve.
revalidate: N 초 후 첫 request 의 background regenerate trigger.
매 그 request 는 stale 의 받음, 매 다음 request 는 fresh.
On-demand: webhook → revalidateTag('post-123') 의 cache 의 invalidate.
언제: revalidate strategy 의 design, webhook handler 의 generate, cache tag 의 schema 의 propose.
언제 X: 매 personalized content 의 cache key 의 design (PII leak risk — human review 필수).
❌ 안티패턴
Per-user ISR: cookie/auth-dependent page 의 ISR → cross-user data leak.
Tag explosion: 매 query 의 unique tag → 매 cache 의 fragmentation.
No fallback: fallback: false + dynamic params → 404 의 surprise.
Webhook 의 unsecured: secret 의 X → revalidate 의 abuse 의 origin DoS.
Long revalidate: 1-day window 의 stale price → 매 revenue loss.
🧪 검증 / 중복
Verified (Next.js 15 docs, Vercel ISR blog 2020-2025).