JAMstack 구조
JAMstack은 미리 만든 Markup을 CDN에서 제공하고 동적 기능은 API로 분리해 요청 시 서버 렌더링 부담을 줄인다.
| 구간 | 하는 일 | 얻는 효과 | 주의점 |
|---|---|---|---|
| Markup | 빌드 시 HTML과 자산 생성 | 첫 응답이 빠르고 안정적 | 개인화가 많은 화면에는 부적합 |
| CDN | 정적 산출물을 edge에서 전달 | origin 부하 감소 | 캐시 무효화 전략 필요 |
| JavaScript | 상호작용과 클라이언트 상태 처리 | 정적 페이지에 동작 부여 | 초기 번들 과대화 주의 |
| API | 검색, 인증, 결제, 폼 처리 | 동적 기능 분리 | CORS, 보안, 오류 계약 필요 |
| Rebuild | 콘텐츠 변경 시 재생성 | 정적 속도와 최신성 균형 | 빌드 시간과 stale 허용 범위 확인 |
JAMstack의 핵심은 서버가 없다는 뜻이 아니라 정적 전달과 동적 처리를 서로 다른 경로로 나누는 것이다.