前端SSR和ssg区别

前端里的 SSR(Server-Side Rendering)SSG(Static Site Generation) 本质都是"提前把页面 HTML 准备好",但它们的生成时机和适用场景完全不同


一句话区别

  • SSR:每次请求都在服务器实时生成 HTML

  • SSG:构建时一次性生成 HTML,之后直接复用


1. SSR(服务端渲染)

工作方式

用户请求页面 → 服务器执行前端代码 → 生成 HTML → 返回浏览器

特点

  • 每次请求都会执行一次渲染

  • 可以拿到最新数据

  • 首屏速度快(比纯 CSR 好)

  • 服务器压力较大

适用场景

  • 数据强实时性(如订单、用户中心)

  • SEO 要求高 + 内容经常变化

  • 权限相关页面(根据用户不同渲染不同内容)

举例

比如电商商品页库存实时变化,就适合 SSR


2. SSG(静态生成)

工作方式

构建阶段(build)就把页面 HTML 生成好 → 部署 → 用户直接拿静态文件

特点

  • 不需要服务器实时计算

  • 极快(CDN 直接返回 HTML)

  • 成本低、稳定性高

  • 数据不是实时的(需要重新 build 或增量更新)

适用场景

  • 内容不常变

  • 强 SEO(博客、官网、文档)

  • 营销页面

举例

博客文章、官网介绍页


3. 核心对比

维度 SSR SSG
生成时机 请求时 构建时
数据实时性
性能 中(依赖服务器) 极高(CDN)
成本
SEO
适合场景 动态数据 静态内容

4. 框架里的体现(你做前端会很常见)

React生态

  • SSR:Next.js 的 getServerSideProps

  • SSG:Next.js 的 getStaticProps

Vue生态

  • SSR:Nuxt 的 server 模式

  • SSG:Nuxt 的 generate / nuxt build --prerender


5. 实际开发中的一个关键认知

很多项目不是二选一,而是混合模式(Hybrid Rendering)

  • 首页:SSG(快)

  • 商品页:SSR(实时)

  • 用户页:CSR(纯前端)

像 Next.js / Nuxt 现在都是这种"按页面选择渲染策略"。


6. 一个更本质的理解

你可以这样记:

  • SSR = "每次现做一份热菜"

  • SSG = "提前做好盒饭直接发"

相关推荐
Gigavision2 小时前
基于BUAA-MIHR数据集的噪声解耦对比学习算法
人工智能·python·深度学习·算法
红海云2 小时前
Kimi 双端接入 CloudBase 的工程价值
人工智能·语言模型
+VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue蛋糕店管理系统(源码+数据库+文档)
前端·数据库·vue.js·spring boot·课程设计
计算机编程-吉哥3 小时前
YOLO26 vs YOLO11 vs YOLOv8:深度学习咖啡果实成熟度分割系统【计算机毕业设计选题推荐】
人工智能·python·深度学习·yolo·django·毕业设计
冬奇Lab3 小时前
一年前没启动 AI 提效的团队,今年在付什么钱?
人工智能
彧azz3 小时前
算法设计与分析:贪心与动态规划
数据结构·学习·算法·贪心算法·动态规划
NeoGressAI外贸数字化4 小时前
IOR新规9月18日生效:Form 5106六项资料自查清单
人工智能
Nicander4 小时前
我给 Excalidraw 做了一个本地工作区:DrawSpace
前端·开源
根目录下的猫4 小时前
RK3588适配的轻量级AI模型推荐
人工智能·后端·python·目标检测
weixin_6684 小时前
Cursor 插件使用说明:Linear 与 Figma
人工智能·cursor