zoukankan      html  css  js  c++  java
  • 客户端渲染和服务端渲染的区别(转)

    https://www.jianshu.com/p/4aa6711a0c10

    服务端渲染: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,那我们应该使用客户端渲染。

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



    作者:沉落的星星
    链接:https://www.jianshu.com/p/4aa6711a0c10
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    java之SFTP上传下载
    java之FTP上传下载
    JUnit单元测试%MODULE_WORKING_DIR%' does not exist
    MySQL 在线DDL "gh-ost"
    MySQL 主从复制错误1837
    <高性能MySQL> 阅读笔记
    Redis cluster 4.0.9 迁槽不影响读写
    MySQL left join 用法与实例
    Linux 日期 date +%F-%T-%N
    MySQL 使用infobin查找binlog中大事务
  • 原文地址:https://www.cnblogs.com/zhoading/p/14595182.html
Copyright © 2011-2022 走看看