跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

前端常见渲染方式对比与实现详解

前端渲染方式涵盖 CSR、SSR、SSG、ISR 等。CSR 由浏览器生成 DOM,交互好但首屏慢;SSR 服务端返回完整 HTML,首屏快且利于 SEO;SSG 构建时生成静态文件,性能极致但数据不实时。实际项目中常根据场景组合使用,如后台用 CSR、内容站用 SSG/ISR、电商首页用 SSR+Streaming。

颠三倒四发布于 2026/4/10更新于 2026/10/1784 浏览
前端常见渲染方式对比与实现详解

前端常见渲染方式总览

前端渲染 = 页面 HTML 在哪里、什么时候生成

渲染方式简称
客户端渲染CSR
服务端渲染SSR
静态站点生成SSG
增量静态生成ISR
流式渲染Streaming SSR
同构渲染Isomorphic
客户端混合渲染Hybrid
边缘渲染Edge Rendering

一、CSR(Client Side Rendering)

原理

  • 服务端返回 空 HTML + JS
  • 浏览器下载 JS
  • JS 运行后生成 DOM
HTML → JS → Render 

实现

  • React / Vue SPA
  • Vite / Webpack
<div></div> <script src="bundle.js"></script>

优点

  • 前后端分离
  • 交互体验好
  • 开发简单

缺点

  • 首屏慢
  • SEO 差
  • 白屏时间长

适用

  • 后台系统
  • 内部系统

二、SSR(Server Side Rendering)

原理

  • 服务端直接返回 完整 HTML
  • 浏览器直接渲染
  • JS 再接管(Hydration)
Server Render → HTML → Hydrate 

实现

  • Next.js
  • Nuxt
  • Vue SSR

优点

  • 首屏快
  • SEO 友好

缺点

  • 服务端压力大
  • 架构复杂

关键点

Hydration(水合)

三、SSG(Static Site Generation)

原理

  • 构建时生成 HTML
  • 部署为静态文件
Build Time → HTML 

实现

  • Next.js getStaticProps
  • VitePress / VuePress

优点

  • 性能极致
  • 成本低

缺点

  • 数据不实时

适用

  • 文档
  • 博客
  • 官网

四、ISR(Incremental Static Regeneration)

原理

  • 静态生成
  • 按需更新部分页面

实现

revalidate: 60 

优点

  • 静态性能
  • 动态数据

缺点

  • 架构复杂
  • 平台依赖

五、Streaming SSR(流式渲染)

原理

  • HTML 分块返回
  • 边生成边展示
Header → Main → Footer 

实现

  • React 18
  • Suspense

优点

  • 极快首屏
  • 更好用户体验

缺点

  • 实现复杂

六、同构渲染(Isomorphic)

一套代码,跑在客户端 + 服务端

  • React / Vue 同构
  • 核心是 SSR + CSR

七、Hybrid(混合渲染)

思路

  • 不同页面用不同策略
页面渲染方式
首页SSR
列表SSG
详情ISR
后台CSR

实现

  • Next.js App Router
  • Nuxt 3

八、Edge Rendering(边缘渲染)

原理

  • 在 CDN 节点渲染
  • 靠近用户

实现

  • Vercel Edge
  • Cloudflare Workers

优点

  • 延迟极低

九、对比总结表(面试必背)

维度CSRSSRSSG
首屏慢快极快
SEO差好好
成本低高低
实时性强强弱
复杂度低高中

十、选型建议(真实项目)

  • 后台系统 → CSR
  • 内容站点 → SSG / ISR
  • 电商首页 → SSR + Streaming
  • 超高性能 → Edge

十一、面试 1 分钟标准回答

前端常见渲染方式包括 CSR、SSR、SSG 和 ISR。 CSR 在浏览器生成 HTML,交互好但首屏慢; SSR 在服务端生成 HTML,首屏快且 SEO 友好; SSG 在构建时生成静态页面,性能最好但不实时。 实际项目中通常采用混合渲染策略。

十二、一句话终极总结

渲染方式的本质,是'HTML 在哪里生成'。

目录

  1. 前端常见渲染方式总览
  2. 一、CSR(Client Side Rendering)
  3. 原理
  4. 实现
  5. 优点
  6. 缺点
  7. 适用
  8. 二、SSR(Server Side Rendering)
  9. 原理
  10. 实现
  11. 优点
  12. 缺点
  13. 关键点
  14. 三、SSG(Static Site Generation)
  15. 原理
  16. 实现
  17. 优点
  18. 缺点
  19. 适用
  20. 四、ISR(Incremental Static Regeneration)
  21. 原理
  22. 实现
  23. 优点
  24. 缺点
  25. 五、Streaming SSR(流式渲染)
  26. 原理
  27. 实现
  28. 优点
  29. 缺点
  30. 六、同构渲染(Isomorphic)
  31. 七、Hybrid(混合渲染)
  32. 思路
  33. 实现
  34. 八、Edge Rendering(边缘渲染)
  35. 原理
  36. 实现
  37. 优点
  38. 九、对比总结表(面试必背)
  39. 十、选型建议(真实项目)
  40. 十一、面试 1 分钟标准回答
  41. 十二、一句话终极总结

更多推荐文章

查看全部
  • 《Agent Runtime 工程化》给 Tool Call 加 Exponential Backoff Retry
  • 用 Consistency Decoder 提升 Stable Diffusion 画质
  • GitNexus 核心引擎架构与实现解析
  • PostgreSQL 18 本地安装与配置指南
  • SpringBoot 配置文件核心用法:Properties 与 YAML
  • 变分量子分类器在医疗诊断中的 Python 实现与原理分析
  • 微信 AI 群聊机器人本地搭建教程
  • PyCharm Copilot 插件无法显示 Claude 模型解决方案
  • VMware 虚拟机安装 macOS 教程
  • Arduino BLDC 电机串口远程控制的工业巡检机器人方案
  • AI 辅助编程:如何利用 GitHub Copilot 等工具提升开发效率
  • VSCode GitHub Copilot 安装与使用指南
  • AI 工具泛滥时代,为何个人能力变现变难?
  • 微信小程序样式与布局详解
  • Pi Coding Agent 编码工具架构模式解析
  • C++ 实现红黑树:深入 STL map 底层原理
  • OpenTCS 6 调度系统架构与数据模型解析
  • 鸿蒙电商购物车全栈项目:用户增长、性能优化与原生合规
  • Python 移动端 UI 自动化脚本开发实战
  • C++ 哈希表封装实战:从原理到 unordered_map 底层优化

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online