这是我参与「第五届青训营 」伴学笔记创作活动的第 27 天
CSR客户端渲染
react 是客户端渲染框架,常用于开发 to B 端的 SPA 应用
客户端渲染过程:
- 服务器传给浏览器相应的网页文件
- 浏览器解析文件
- 遇到ajax请求则向服务器再次请求数据
- 服务器再次向浏览器发送相应的数据
- 浏览器拿到ajax请求返回的数据后,将数据渲染在页面上
特点:
- 页面的渲染工作都是由浏览器来完成的,服务器只是负责提供数据
- 首屏加载时间长
- 不容易被爬虫爬取数据,同时也无法被搜索引擎搜索到
SSR服务端渲染
next 是服务端渲染框架,常用于开发 to C 端应用
服务端渲染过程:
- 客户端向服务器发送一次请求
- 服务器接收请求,并在服务端操作网页文件,将对应数据导入文件
- 服务器在服务端渲染好整个网页,发送给客户端
- 客户端接收服务器发送过来的网页文件,不需要做任何操作,直接呈现
特点:
- 页面渲染的工作都是由服务端来完成的,数据也是由服务端提供的,浏览器只负责展示页面内容
- 容易被爬虫爬取数据,同时能被搜索引擎搜索到,能在搜索引擎中向用户展示数据
如何区分客户端渲染和服务端渲染
- 查看网页源代码时,查找不到网页中的一些内容,并且 network 中能找到请求的数据,那就是客户端渲染
- 查看网页源代码时,能找到网页中对应的内容,并且 network 中找不到请求的数据,那就是服务端渲染
SSG静态站点生成
服务端直接返回一个静态的 html 给客户端
通常来说,静态站点在运行时会更快,因为不需要服务端做处理,但缺点是对数据的任何更改都需要在服务端进行完全重建
而服务端渲染则会动态处理数据,不需要进行完全重建