服务端渲染实际用途大吗?

发布于 2022-09-11 23:13:50 字数 328 浏览 22 评论 0

学习了ssr一段时间后,觉得ssr做的事情就是在服务端把你需要获取的路由页面提取渲染加载好(包括获取数据啥的)后再返回给浏览器,浏览器再去读取已经有数据的页面,这样子比在浏览器里进行第一次初始化要快一些,跟预渲染相比唯一的优点就是能获取数据,预渲染不行。
上述是我对ssr的过程理解,有不对的请大神指出,我想问有用过ssr并解决实际加载慢问题的人吗,在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗,导致初始化慢的原因有很多,ssr在我看来有优势的就是在服务端取数据要比浏览器取数据快,但是首页加载慢一般都不是ajax慢导致的,到底ssr能解决哪方面问题导致的加载慢。求问

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

念﹏祤嫣 2022-09-18 23:13:50

服务端渲染最大的用途在于减少用户等待的时间,加快页面的渲染速度,同时实现前后端的共享同构,一个功能只写一次代码即可。

我们来对比下几种渲染方式的优缺点

纯前端渲染要把数据渲染到页面中,要经历这三步:先加载index.html,然后加载js,请求接口并渲染。这里产生了3个http请求,而且是串行的,最后呈现的时间是这3个http请求时间的总和。

而同构直出渲染或者其他服务端渲染,则是在服务端请求数据,然后渲染页面,将3个http请求减少为1个http请求。同时,同构直出渲染方案再一个更大的好处是实现前后端的同构共享。

至于你说的在我看来ssr就是把第一个页面在服务器加载出来传给浏览器,浏览器的vue再读取标志里的数据,难道不是该慢还是慢吗。他并不是把数据交给前端,让前端去渲染页面,而是服务端已经渲染好页面了,前端去添加一些交互而已。数据也根据页面一起加载的目的就是为了达到前后端的数据共享,服务端只请求一次数据即可。

更多同构直出渲染的疑问,你可以参考下这篇文章:腾讯node同构直出渲染方案的总结

可以看一下vue官方的指南 vue-SSR

SSR的主要作用大概这两点

更好的 SEO,由于搜索引擎爬虫抓取工具可以直接查看完全渲染的页面。

更快的内容到达时间 (time-to-content)

SEO不用说了
下面说下从用户的角度更快的内容到达
没有SSR:

  1. 访问网站
  2. 得到html,大部分没有内容
  3. 请求script(vue,app.js,异步组件.js等等代码)
  4. script请求回来,解析并发送ajax获取数据
  5. 数据回来,渲染,有内容

有SSR

  1. 访问网站
  2. 得到html,显示内容(服务端只需要ajax得到数据,然后拼接字符串返回)

不用SSR可能会导致有一个白屏时间,用户需要等待
SSR也可以再做一层缓存优化

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文