服务端渲染实际用途大吗?
学习了ssr一段时间后,觉得ssr做的事情就是在服务端把你需要获取的路由页面提取渲染加载好(包括获取数据啥的)后再返回给浏览器,浏览器再去读取已经有数据的页面,这样子比在浏览器里进行第一次初始化要快一些,跟预渲染相比唯一的优点就是能获取数据,预渲染不行。
上述是我对ssr的过程理解,有不对的请大神指出,我想问有用过ssr并解决实际加载慢问题的人吗,在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗,导致初始化慢的原因有很多,ssr在我看来有优势的就是在服务端取数据要比浏览器取数据快,但是首页加载慢一般都不是ajax慢导致的,到底ssr能解决哪方面问题导致的加载慢。求问
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
服务端渲染最大的用途在于减少用户等待的时间,加快页面的渲染速度,同时实现前后端的共享同构,一个功能只写一次代码即可。
我们来对比下几种渲染方式的优缺点
纯前端渲染要把数据渲染到页面中,要经历这三步:先加载index.html,然后加载js,请求接口并渲染。这里产生了3个http请求,而且是串行的,最后呈现的时间是这3个http请求时间的总和。
而同构直出渲染或者其他服务端渲染,则是在服务端请求数据,然后渲染页面,将3个http请求减少为1个http请求。同时,同构直出渲染方案再一个更大的好处是实现前后端的同构共享。
至于你说的
在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗
。他并不是把数据交给前端,让前端去渲染页面,而是服务端已经渲染好页面了,前端去添加一些交互而已。数据也根据页面一起加载的目的就是为了达到前后端的数据共享,服务端只请求一次数据即可。更多同构直出渲染的疑问,你可以参考下这篇文章:腾讯node同构直出渲染方案的总结
可以看一下vue官方的指南 vue-SSR
SSR的主要作用大概这两点
SEO不用说了
下面说下从用户的角度更快的内容到达
没有SSR:
有SSR
不用SSR可能会导致有一个白屏时间,用户需要等待
SSR也可以再做一层缓存优化