SSR的原理及好处
2020-10-25 本文已影响0人
深度剖析JavaScript
什么是SSR
SSR
是Server Side Render
简称,叫服务端渲染
在客户端请求服务器的时候,服务器到数据库中获取到相关的数据,并且在服务器内部将Vue
组件渲染成HTML
,并且将数据、HTML
一并返回给客户端,这个在服务器将数据和组件转化为HTML
的过程,叫做服务端渲染SSR
而当客户端拿到服务器渲染的HTML
和数据之后,由于数据已经有了,客户端不需要再一次请求数据,而只需要将数据同步到组件或者Vuex
内部即可。除了数据以外,HTML
也结构已经有了,客户端在渲染组件的时候,也只需要将HTML
的DOM
节点映射到Virtual DOM
即可,不需要重新创建DOM
节点,这个将数据和HTML
同步的过程,又叫做客户端激活
使用SSR的好处
- 有利于SEO
其实就是有利于爬虫来爬你的页面,因为部分页面爬虫是不支持执行JavaScript
的,这种不支持执行JavaScript
的爬虫抓取到的非SSR
的页面会是一个空的HTML
页面,而有了SSR
以后,这些爬虫就可以获取到完整的HTML
结构的数据,进而收录到搜索引擎中。
- 白屏时间更短
相对于客户端渲染,服务端渲染在浏览器请求URL
之后已经得到了一个带有数据的HTML
文本,浏览器只需要解析HTML
,直接构建DOM
树就可以。而客户端渲染,需要先得到一个空的HTML
页面,这个时候页面已经进入白屏,之后还需要经过加载并执行JavaScript
、请求后端服务器获取数据、JavaScript
渲染页面几个过程才可以看到最后的页面。特别是在复杂应用中,由于需要加载 JavaScript
脚本,越是复杂的应用,需要加载的 JavaScript
脚本就越多、越大,这会导致应用的首屏加载时间非常长,进而降低了体验感。