跳到主要内容

2.5-SSR服务端渲染

Create by fall on 2022-09-28 Recently revised in 2022-10-14

SSR

为什么要用 SSR

与客户端的单页应用 (SPA) 相比,SSR 的优势主要在于:

  • 更快的首屏加载:这一点在慢网速或者运行缓慢的设备上尤为重要。服务端渲染的 HTML 无需等到所有的 JavaScript 都下载并执行完成之后才显示,所以你的用户将会更快地看到完整渲染的页面。除此之外,数据获取过程在首次访问时在服务端完成,相比于从客户端获取,可能有更快的数据库连接。这通常可以带来更高的核心 Web 指标评分、更好的用户体验,而对于那些“首屏加载速度与转化率直接相关”的应用来说,这点可能至关重要。
  • 统一的心智模型:你可以使用相同的语言以及相同的声明式、面向组件的心智模型来开发整个应用,而不需要在后端模板系统和前端框架之间来回切换。
  • 更好的 SEO:搜索引擎爬虫可以直接看到完全渲染的页面。

对比

SPA 大量工作在客户端执行,SSR 大量工作在服务端执行

用代码生成动态的页面,渲染页面

生成动态页面这件事,可以交给后端:SSR,交给前端:SPA

SPA(Single-page Application)SSR(Server-Side Rendering)SSG(Static Site Generation)
特点减小服务端压力(编程,请求)优化动态网站体验(预渲染)静态网站生成和托管
运行端浏览器服务器服务器
静态文件单页面,浏览器需要先处理,再展示由服务器即时生成,首屏加载速度非常快多个页面分别读取,极快
SEO不适合适合适合
静态文件 CDN适合不适合适合
适用场景中后台产品信息展示型网站内容较为固定的资讯类网站
运行(环境)需要浏览器环境即可后端需要配合使用 node配合 Markup,对文档进行标记