JAMstack 실행 시점 분리
페이지마다 빌드 시점에 확정할 데이터와 요청 시점에 처리할 데이터를 나누면 속도와 최신성의 기준이 분명해진다.
| 시점 | 적합한 데이터 | 구현 방식 | 위험 신호 |
|---|---|---|---|
| Build time | 문서, 블로그, 상품 설명처럼 안정적 콘텐츠 | SSG, pre-render | 콘텐츠 변경마다 전체 재빌드 지연 |
| CDN delivery | 버전이 붙은 HTML/CSS/JS/이미지 | edge cache, asset hash | HTML과 자산 버전 불일치 |
| Request time | 로그인 사용자 정보와 결제 상태 | API, serverless, SSR | 정적 페이지에 비밀 값을 포함 |
| Revalidate | 일부 페이지만 최신화하면 되는 콘텐츠 | ISR, webhook, on-demand build | stale 허용 기준 없음 |
| Secret work | 토큰, DB 접근, 외부 서비스 호출 | 서버 함수로 분리 | 브라우저에 비밀 키 노출 |
JAMstack을 판단할 때는 페이지가 정적인가보다 “이 데이터가 언제 확정되는가”를 먼저 묻는다.