定義
Jamstack(JavaScript、API 與 Markup)是一種網頁架構模式,透過建置步驟預先將網站編譯成靜態的 HTML、CSS 與 JavaScript,再從全球 CDN 提供這些輸出內容,並將所有動態邏輯推送至無伺服器函式或第三方 API,而非仰賴長期運行的來源伺服器。由於頁面已預先建置完成,大多數請求根本不會觸及資料庫或應用程式伺服器:CDN 邊緣節點通常能在 50 毫秒內回傳 HTML,而且沒有來源程序可供入侵。相較於 WordPress 或 LAMP 等傳統伺服器渲染架構,這帶來更快的頁面載入速度、更低的規模化主機成本,以及更小的攻擊面,不過隨著網站成長超過數千頁,建置時間會變長,團隊也會面臨實質的學習曲線。Netlify 於 2015 年創造了這個詞彙;如今它已成為行銷網站、文件網站以及 Next.js、Astro、SvelteKit、Nuxt 等前端框架的預設架構,並託管於 Vercel、Netlify、Cloudflare Pages 及類似平台上。
運作方式
Jamstack 的建置步驟在部署時執行(或透過 ISR 按需執行),產出靜態的 HTML、CSS 與 JavaScript,由 CDN 直接提供服務。動態功能(表單處理、搜尋、驗證、付款)則由無伺服器函式或從客戶端呼叫的第三方 API 處理。
這點為何重要
對大多數行銷、文件與內容型網站而言,Jamstack 能帶來更好的 Core Web Vitals 表現、更低的規模化主機成本,以及比傳統動態主機更佳的安全性。代價則是建置流程更複雜,對習慣使用 WordPress 或 LAMP 的團隊來說需要一段學習曲線。