两个例子有很鲜明的对比结果,SSR的页面是通过http模块创建的服务中间件返回的动态数据,CSR的页面是通过静态资源文件夹直接返回的文件内容. SSR的页面必须等待server中res对象触发end事件后才能返回给客户端.CSR的页面是直接加载的.而tbody的数据必须在网页在客户端加载完毕后才能开始渲染.
SSR
1.优势
- 返回的数据源代码中可以查看,对 SEO工具友好
- 在数据返回给浏览器后可以更快的渲染视图内容,而无需等待js的渲染流程
- 非常适合不频繁变动的门户网站等搭建
2.劣势
- 每次提交数据都需要重新像服务器发送请求 触发页面的更新
- 虽然渲染页面快 但加载渲染代码需要等待服务端模板计算,这个时间在高并发场景并不会快
- 不适合做数据频繁变化和存在高频交互场合
CSR
1.优势
- 适合强交互web应用的搭建
- 一旦资源加载完毕后便不需要视图更新便可以实现加载视图
- 减小了服务器计算视图模板的工作为服务器降低了单位访问的工作量
2.劣势
- 纯客户端渲染导致源代码中没有任何数据不利于SEO
- 初始在白屏时间,需要大量的优化方案
- 在设计不完备的情况下会产生单页面并发请求量过多而对服务器产生压力