JAMstack을 빌드 시점과 요청 시점으로 나누기
가능한 화면은 빌드에서 만들고, 사용자마다 달라지는 기능은 API와 edge 함수로 분리해야 JAMstack의 장점이 살아난다.
| 판단 항목 | 빌드 시점에 둘 것 | 요청 시점에 둘 것 | 체크포인트 |
|---|---|---|---|
| Content | 회사 소개, 문서, 공개 글 | 실시간 재고, 개인 대시보드 | 사용자마다 달라지는가 |
| Asset | 해시가 붙은 JS/CSS/이미지 | 즉시 갱신되어야 하는 HTML | 캐시 무효화 방법이 있는가 |
| Auth | 로그인 없는 공개 화면 | 세션, 토큰, 권한 검사 | 비밀 정보가 클라이언트에 없는가 |
| Search | 작은 정적 인덱스 | 큰 검색, 권한 기반 결과 | API 응답 지연을 처리하는가 |
| Freshness | 오래돼도 되는 콘텐츠 | 최신성이 중요한 데이터 | stale 허용 시간을 정했는가 |
JAMstack의 설계 품질은 정적·동적 책임을 섞지 않고 캐시와 갱신 기준을 말할 수 있는지로 드러난다.