学习了ssr一段时间后,觉得ssr做的事情就是在服务端把你需要获取的路由页面提取渲染加载好(包括获取数据啥的)后再返回给浏览器,浏览器再去读取已经有数据的页面,这样子比在浏览器里进行第一次初始化要快一些,跟预渲染相比唯一的优点就是能获取数据,预渲染不行。
上述是我对ssr的过程理解,有不对的请大神指出,我想问有用过ssr并解决实际加载慢问题的人吗,在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗,导致初始化慢的原因有很多,ssr在我看来有优势的就是在服务端取数据要比浏览器取数据快,但是首页加载慢一般都不是ajax慢导致的,到底ssr能解决哪方面问题导致的加载慢。求问
服务端渲染最大的用途在于减少用户等待的时间,加快页面的渲染速度,同时实现前后端的共享同构,一个功能只写一次代码即可。
我们来对比下几种渲染方式的优缺点
纯前端渲染要把数据渲染到页面中,要经历这三步:先加载index.html,然后加载js,请求接口并渲染。这里产生了3个http请求,而且是串行的,最后呈现的时间是这3个http请求时间的总和。
而同构直出渲染或者其他服务端渲染,则是在服务端请求数据,然后渲染页面,将3个http请求减少为1个http请求。同时,同构直出渲染方案再一个更大的好处是实现前后端的同构共享。
至于你说的
在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗
。他并不是把数据交给前端,让前端去渲染页面,而是服务端已经渲染好页面了,前端去添加一些交互而已。数据也根据页面一起加载的目的就是为了达到前后端的数据共享,服务端只请求一次数据即可。更多同构直出渲染的疑问,你可以参考下这篇文章:腾讯node同构直出渲染方案的总结