简单聊一下服务端渲染
写在前面
Server Slide Rendering
服务端渲染,又简写为 SSR
,他一般被用在我们的 SPA(Single-Page Application)
中,即单页应用。
为什么要用SSR?
首先我们需要知道 SSR 对于 SPA 的好处
,优势
是什么。
- 更好的
SEO(Search Engine Optimization)
,SEO
是搜索引擎优化,简而言之就是针对百度这些搜索引擎,可以让他们搜索到我们的应用。这里可能会有误区,就是我也可以在index.html
上写SEO
,为什么会不起作用。因为 React、Vue 的原理是客户端渲染,通过浏览器去加载 js、css,有一个时间上的延迟
,而搜索引擎不会管你的延迟
,他就觉得你如果没加载出来就是没有的,所以是搜不到的。 - 解决一开始的
白屏渲染
,上面讲了 React 的渲染原理,而SSR服务端渲染是通过服务端请求数据,因为服务端内网的请求快,性能好所以会更快的加载所有的文件,最后把下载渲染后的页面返回给客户端。
服务端渲染VS客户端渲染
客户端渲染路线:
- 请求一个 html
- 服务端返回一个 html
- 浏览器下载 html 里面的 js/css 文件
- 等待 js 文件下载完成
- 等待 js 加载并初始化完成
- js 代码终于可以运行,由js代码向后端请求数据( ajax/fetch )
- 等待后端数据返回
- react-dom ( 客户端 )从无到完整地,把数据渲染为响应页面
服务端渲染路线:
- 请求一个 html
- 服务端请求数据( 内网请求快 )
- 服务器初始渲染(服务端性能好,较快)
- 服务端返回已经有正确内容的页面
- 客户端请求 js/css 文件
- 等待 js 文件下载完成
- 等待 js 加载并初始化完成
- react-dom ( 客户端 )把剩下一部分渲染完成( 内容小,渲染快 )
从上面两者的渲染路线可以看到,其主要区别就在于,客户端从无到有的
渲染,服务端是先在服务端渲染一部分
,在再客户端渲染一小部分
。
参考文章
赏
支付宝打赏 微信打赏
听说赞过就能年薪百万