[ 客户端渲染和服务端渲染 | 青训营笔记 ]

95 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 27 天

CSR客户端渲染

react 是客户端渲染框架,常用于开发 to B 端的 SPA 应用

客户端渲染过程:

  1. 服务器传给浏览器相应的网页文件
  2. 浏览器解析文件
  3. 遇到ajax请求则向服务器再次请求数据
  4. 服务器再次向浏览器发送相应的数据
  5. 浏览器拿到ajax请求返回的数据后,将数据渲染在页面上

特点:

  • 页面的渲染工作都是由浏览器来完成的,服务器只是负责提供数据
  • 首屏加载时间长
  • 不容易被爬虫爬取数据,同时也无法被搜索引擎搜索到

SSR服务端渲染

next 是服务端渲染框架,常用于开发 to C 端应用

服务端渲染过程:

  1. 客户端向服务器发送一次请求
  2. 服务器接收请求,并在服务端操作网页文件,将对应数据导入文件
  3. 服务器在服务端渲染好整个网页,发送给客户端
  4. 客户端接收服务器发送过来的网页文件,不需要做任何操作,直接呈现

特点:

  • 页面渲染的工作都是由服务端来完成的,数据也是由服务端提供的,浏览器只负责展示页面内容
  • 容易被爬虫爬取数据,同时能被搜索引擎搜索到,能在搜索引擎中向用户展示数据

如何区分客户端渲染和服务端渲染

  • 查看网页源代码时,查找不到网页中的一些内容,并且 network 中能找到请求的数据,那就是客户端渲染
  • 查看网页源代码时,能找到网页中对应的内容,并且 network 中找不到请求的数据,那就是服务端渲染

SSG静态站点生成

服务端直接返回一个静态的 html 给客户端

通常来说,静态站点在运行时会更快,因为不需要服务端做处理,但缺点是对数据的任何更改都需要在服务端进行完全重建

而服务端渲染则会动态处理数据,不需要进行完全重建