一文读懂服务端渲染,以及服务端渲染未来的发展

132 阅读2分钟

先了解所有的渲染模式

  • CSR:就是客户端渲染,所有的请求,合并都是在客户端发生。
  • SSG:静态生成,再生成HTML的时候已经包含所有所需信息,适合做不会有内容变化的网站
  • SSR:服务端渲染,在服务端请求,合并HTML。
  • ISR:增量式生成,服务端只渲染一部分,剩下的交给客户端去渲染。

什么是服务端渲染

在了解服务端渲染之前,我们先了解一下浏览器的渲染流程

  1. 获取HTML文档资源,构建DOM树。
  2. 处理CSS文件,构建CSSOM树。
  3. 将CSSOM树和DOM树组合成一个Render树。
  4. 在Render 树上运行渲染进程,确定每个节点的宽高以及位置。
  5. 最后一步,将各个节点绘制到屏幕上

在第一步的时候遇到JS会去加载JS文件,阻塞后续流程,等待js加载完才会继续,会有预加载扫描器在我们加载页面之前先扫描代码,在我们请求HTML的时候就已经去请求JS资源。

前端会有一些页面所需的数据存在于服务端,我们需要通过接口获取数据,拿到数据之后处理数据,重新渲染,这就是客户端渲染的流程。

那什么是服务端渲染呢

就是把处理HTML的过程放到服务端,在服务端已经组合好,然后把HTML返回给浏览器,不需要JS的执行,可以直接构建出DOM,渲染到页面上.

服务端渲染和客户端渲染的区别

区别服务端渲染客户端渲染详解
白屏时间客户端只需要请求HTML加载DOM,用时相对于客户端渲染很少
服务器压力请求以及HTML都是在服务端进行的,对于服务器的压力比较大
SEO友好不友好对于搜索引擎低级爬虫来说,客户端只能爬到基础HTML没有数据,服务端渲染能拿到完整的HTML。

未完待续