客户端渲染和服务端渲染的区别(转)

客户端渲染和服务端渲染的区别(转),第1张

服务端渲染 :DOM树在服务端生成,然后返回给前端。

客户端渲染 (SSR):前端去后端取数据生成DOM树。

服务端渲染的优点

1、尽量不占用前端的资源,前端这块耗时少,速度快。

2、有利于SEO优化,因为在后端有完整的html页面,所以爬虫更容易爬取信息。

服务端渲染的缺点

1、不利于前后端分离,开发的效率降低了。

2、对html的解析,对前端来说加快了速度,但是加大了服务器的压力。

客户端渲染的优点

1、前后端分离,开发效率高。

2、用户体验更好,我们将网站做成SPA(单页面应用)或者部分内容做成SPA,当用户点击时,不会形成频繁的跳转。

客户端渲染的缺点

1、前端响应速度慢,特别是首屏,这样用户是受不了的。

2、不利于SEO优化,因为爬虫不认识SPA,所以它只是记录了一个页面。

服务端和客户端渲染的区别

1、二者本质的区别:是谁来完成了html的完整拼接,服务端渲染是在服务端生成DOM树,客户端渲染是在客户端生成DOM树。

2、响应速度:服务端渲染会加快页面的响应速度,客户端渲染页面的响应速度慢。

3、SEO优化:服务端渲染因为是多个页面,更有利于爬虫爬取信息,客户端渲染不利于SEO优化。

4、开发效率:服务端渲染逻辑分离的不好,不利于前后端分离,开发效率低,客户端渲染是采用前后端分离的方式开发,效率更高,也是大部分业务采取的渲染方式。

直观的区分服务端渲染和客户端渲染:

源码里如果能找到前端页面中的内容文字,那就是在服务端构建的DOM,就是服务端渲染,反之是客户端渲染。

应该使用服务端渲染还是客户端渲染:

我们要根据业务场景去选择渲染的方式。

如果是企业级网站,主要功能是页面展示,它没有复杂的交互,并且需要良好的SEO,那我们应该使用服务端渲染。

如果是后台管理页面,交互性很强,它不需要考虑到SEO,那我们应该使用客户端渲染。

具体使用哪种渲染方式也不是绝对的,现在很多网站使用 服务端渲染和客户端渲染结合 的方式:首屏使用服务端渲染,其他页面使用客户端渲染。这样可以保证首屏的加载速度,也完成了前后端分离。

1、服务端渲染

服务端渲染对于刚接触 vue 的新手来说,并不是那么友好,虽然已有官方 SSR 中文文档。但是对于一个已经开发完毕的 vue 项目去接 SSR 无论是从工作量还是技术角度来说,都是一种挑战。

2、预渲染方式

在构建时 (build time) 简单地生成针对特定路由的静态 HTML 文件。优点是设置预渲染更简单,并可以将您的前端作为一个完全静态的站点。如果您使用 webpack,您可以使用 prerender-spa-plugin 轻松地添加预渲染。它已经被 Vue 应用程序广泛测试。

react.js在服务器端渲染好处:

提升性能是需要再浏览器端的性能提升还是服务端的 性能提升,是两个概念,服务端渲染会给服务端造成一定的压力,减轻客户端的压力;好处:在整个页面级别的应用会使得浏览器在解析dom完成之后马上有东西可以渲染。再者就是对seo比较友好一些;

渲染的流程主要是:

准备数据,一般从数据库或外部API获得 (一般要先 render React 一次,去触发所需的API)

数据和React结合生成HTML Markup

除了把HMTL Markup输出外, 还要把'State'输出,这要在客户端才能保留'State'


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/749843.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-08-15
下一篇2023-08-15

发表评论

登录后才能评论

评论列表(0条)

    保存