☕ NEW! 完成新手任務即可參加抽獎!LINE 星巴克禮券等你拿,名額有限!        🎉 推廣活動:邀請好友註冊 DevLearn,累積推薦抽 LINE 星巴克禮券! 活動詳情 →        🔥 活動期間 2026/4/1 - 5/31 |已有 0 人參加       
concept-frontend 中級

SSR vs CSR vs SSG:怎麼選?

三種渲染模式

CSR(Client-Side Rendering)客戶端渲染

瀏覽器收到空 HTML → 載入 JS → JS 渲染畫面

1. 伺服器回傳:<div id="app"></div> + <script src="bundle.js">
2. 瀏覽器下載 bundle.js(可能 500KB+)
3. JS 執行,建立 DOM,畫面才出現
4. 使用者看到畫面(可能已經過了 2-3 秒)
優點 缺點
互動體驗好(SPA) 首屏慢(要等 JS 載入+執行)
伺服器負擔小 SEO 差(爬蟲看到空 HTML)
前後端完全分離 需要 Loading 狀態

SSR(Server-Side Rendering)伺服器端渲染

伺服器渲染完整 HTML → 瀏覽器直接顯示 → 載入 JS → 變成互動式

1. 伺服器執行 React/Vue,產生完整 HTML
2. 瀏覽器收到 HTML,立刻顯示(首屏快)
3. JS 載入後 "Hydration"(注入互動性)
4. 變成完整的 SPA
優點 缺點
首屏快(HTML 直接顯示) 伺服器負擔大(每次請求都要渲染)
SEO 好(爬蟲看到完整內容) 開發複雜(要處理 Server/Client 差異)
社群分享有預覽 TTFB 較慢(伺服器要花時間渲染)

SSG(Static Site Generation)靜態生成

建置時就產生所有 HTML → 部署靜態檔案 → CDN 分發

1. 建置時(build time):執行每個頁面,產生 .html 檔案
2. 部署到 CDN(Vercel、Cloudflare Pages)
3. 使用者請求 → CDN 直接回傳 HTML(超快)
優點 缺點
最快(靜態檔案 + CDN) 不適合動態內容(使用者資料)
最安全(沒有伺服器) 建置時間隨頁面數量增加
最便宜(不需要伺服器) 更新需要重新建置

怎麼選?

場景 推薦
部落格、文件網站 SSG(Astro、Hugo)
電商、新聞網站 SSR(Next.js、Nuxt)
後台管理系統 CSR(Vite + React/Vue)
學習平台(DevLearn) MVC SSR(你現在的做法)✅

你的 DevLearn 用 ASP.NET MVC 是 Server-Side Rendering,Razor 在伺服器渲染 HTML。這對 SEO 和首屏速度都很好。

💡 大家的想法 · 0

載入中...
💬 即時聊天室 🟢 0 人在線
😀 😎 🤓 💻 🎮 🎸 🔥
➕ 新問題
📋 我的工單
💬 LINE 社群
🔒
需要註冊才能使用此功能
註冊帳號即可解鎖測驗、遊戲、簽到、筆記下載等所有功能,完全免費!
免費註冊