# 01.服务端渲染
[toc]{type: "ol", level: [3,4]}
### 同构开发
- 前后端异构
> 原生 JS 获取 DOM 绑定事件 的服务端渲染方式
- 同构渲染
> 组件可以在服务端运行,生成html,
> 再由客户端**Vue/React**{style="color:goldenrod"}接管从服务端吐出的html,
> 使其变为由客户端**Vue/React**{style="color:goldenrod"}管理的动态DOM。
### 演变过程
#### 纯服务端渲染
> 最初的Java、PHP时代的纯服务端渲染时代
#### 前后端分离
> 使用JavaScript运行在客户端
> 通过请求获取服务端接口数据
> 借助如 JQuery、React、Vue 等前端框架操作或生成页面DOM
- 优势
> 充分利用客户端资源,减少服务端压力
> 前后端分工明确,
#### 同构开发
- 概念
> 如 Next.js、Nuxt.js 等框架以及 ssr 框架
> 提供了不同的适用场景和开发方式
> 但目的都是为了同一套代码能同时应用于服务端和客户端
- 优点
> 服务端和客户端共用代码
> 更快的页面内容到达时间
> 更友好的SEO
> 更优雅的降级方式,更健壮的应用
### CSR与SSR区别
#### CSR
- 原理
> 通过vue等前端框架,将数据注入到body内部
> 减轻服务端压力
> 搜索引擎无法爬取到
#### SSR
- 原理
> 后端将渲染好的数据,返还给vue,此时已经带有了数据
> 服务端压力较大
> 搜索引擎可以爬取到