Skip to content

服务端渲染(SSR)

全称:Server-Side Rendering
简介:指在服务端完成页面的 html 拼接处理, 然后再发送给浏览器。

优势

1. 网络链路

  • 省去了客户端二次请求的过程
  • 服务端的网络环境一般优于客户端,并且内部服务器间的通讯会更快

2. 内容呈现

  • 首屏的速度会更快,能够充分利用浏览器解析 HTML 的优势

3. 可访问性

  • 有利于 SEO
  • 移动端虽不必考虑搜索引擎爬取,但也有类似的社交分享需求,社交媒体会抓取目标页面中的图片等作为缩略信息

问题

1. 服务端的性能

服务端会存在高并发,大流量的情况。

2. 成本会增加

服务端的性能,带来的流量增加会导致页面的 💰 增加

3. 开发成本增加

  • 更多的限制
    • 生命周期差异(vue 里只支持 beforeCreatecreated 两个钩子函数)
    • 拿不到 windowdocument 等 js api
    • 不能获取设备信息(屏幕尺寸、手机型号等)
    • 异步函数不执行(setTimeoutPromise 等)
  • 三方库的支持性、代码兼容性

适用场景

  1. 强 SEO 相关的页面(spa 应用的首页)
  2. 偏向静态的内容展示的(商品详情、攻略、文章等)

参考