服务端渲染:DOM树在服务端生成,而后返回给前端。html
客户端渲染(SSR):前端去后端取数据生成DOM树。前端
服务端渲染的优势:后端
一、尽可能不占用前端的资源,前端这块耗时少,速度快。服务器
二、有利于SEO优化,由于在后端有完整的html页面,因此爬虫更容易爬取信息。前后端分离
服务端渲染的缺点:优化
一、不利于先后端分离,开发的效率下降了。网站
二、对html的解析,对前端来讲加快了速度,可是加大了服务器的压力。spa
客户端渲染的优势:htm
一、先后端分离,开发效率高。资源
二、用户体验更好,咱们将网站作成SPA(单页面应用)或者部份内容作成SPA,当用户点击时,不会造成频繁的跳转。
客户端渲染的缺点:
一、前端响应速度慢,特别是首屏,这样用户是受不了的。
二、不利于SEO优化,由于爬虫不认识SPA,因此它只是记录了一个页面。
服务端和客户端渲染的区别:
一、两者本质的区别:是谁来完成了html的完整拼接,服务端渲染是在服务端生成DOM树,客户端渲染是在客户端生成DOM树。
二、响应速度:服务端渲染会加快页面的响应速度,客户端渲染页面的响应速度慢。
三、SEO优化:服务端渲染由于是多个页面,更有利于爬虫爬取信息,客户端渲染不利于SEO优化。
四、开发效率:服务端渲染逻辑分离的很差,不利于先后端分离,开发效率低,客户端渲染是采用先后端分离的方式开发,效率更高,也是大部分业务采起的渲染方式。
直观的区分服务端渲染和客户端渲染:
源码里若是能找到前端页面中的内容文字,那就是在服务端构建的DOM,就是服务端渲染,反之是客户端渲染。
应该使用服务端渲染仍是客户端渲染:
咱们要根据业务场景去选择渲染的方式。
若是是企业级网站,主要功能是页面展现,它没有复杂的交互,而且须要良好的SEO,那咱们应该使用服务端渲染。
若是是后台管理页面,交互性很强,它不须要考虑到SEO,那咱们应该使用客户端渲染。
具体使用哪一种渲染方式也不是绝对的,如今不少网站使用服务端渲染和客户端渲染结合的方式:首屏使用服务端渲染,其余页面使用客户端渲染。这样能够保证首屏的加载速度,也完成了先后端分离。