一、服务端渲染(SSR)是什么

用户使用的浏览器浏览的都是一些没有复杂逻辑的、简单的页面,这些页面都是在后端将 html 拼接好的,然后返回给前端完整的 html 文件,浏览器拿到这个 html 文件之后就可以直接解析展示了,这也就是所谓的服务器端渲染。
将组件或页面通过服务器生成HTML字符串,在发送到游览器,最后将静态标记 “混合”为客户端上完全交互的应用程序。

二、客户端渲染(CSR)是什么

随着前端页面的复杂性提高,前端就不仅仅是普通的页面展示了,可能是添加更多功能的组件,复杂性更大,另外,此时 ajax 的兴起,使得页面就开始崇拜前后端分离的开发模式,即后端不提供完整的 html 页面,而是提供一些 api 使得前端可以获取 json 数据,然后前端拿到 json 数据之后再在前端进行 html 页面的拼接,然后展示在浏览器上,这就是所谓的客户端渲染

三、SSR的优势

服务器端渲染的优势就是容易 SEO,首屏加载快,因为客户端接收到的是完整的 HTML 页面。

利于SEO:不同爬虫工作原理类似,只会爬取源码,不会执行网站的任何脚本,使用了React或者其它MVVM框架之后,页面大多数DOM元素都是在客户端根据js动态生成,可供爬虫抓取分析的内容大大减少(如图一)。另外,浏览器爬虫不会等待我们的数据完成之后再去抓取我们的页面数据。服务端渲染返回给客户端的是已经获取了异步数据并执行JavaScript脚本的最终HTML,网络爬中就可以抓取到完整页面的信息。

首屏加载快:首页是通过node加载的HTML字符串,用户直接可以看到完整HTML,所以更快。

服务端渲染的缺点:
1.不容易维护,通常前端改了部分html或者css,后端也需要修改。
2.会增加项目整体复杂度(前后端耦合,互相依赖 (较高的学习成本))。
3.库的支持性(兼容性)
4.对服务器压力较大

四、CSR的优势

节省后端资源,局部刷新页面,多端渲染,前后端分离。

1、节省后端资源。
即服务器端完成html模板的解析,如果请求较多,会对服务器造成一定的访问压力。而如果使用前端渲染,就是把这些解析的压力分摊了前端。

2、便于前后端分离。
前端专注于前端UI,后端专注于api开发,且前端有更多的选择性,而不需要遵循后端特定的模板.

3、用户体验更好。
比如,我们将网站做成SPA或者部分内容做成SPA,这样,尤其是移动端,可以使体验更接近于原生app。

客户端渲染的缺点:

1.不利于SEO、爬虫看不到完整的程序源码
2.首屏渲染慢(渲染前需要下载一堆js和css等)



服务端渲染(SSR) 和客户端渲染(CSR)相关推荐

  1. 服务端渲染SSR与客户端渲染

    文章目录 一.服务端渲染和客户端渲染的区别 服务端渲染(SSR -- server side render) 客户端渲染 二.使用服务端渲染(SSR)的利弊 优势 局限 三.实际应用 应用原则 举例 ...

  2. 什么是服务器渲染(SSR)、客户端渲染

    什么是服务器渲染.客户端渲染 一.介绍 1.1 服务端渲染(SSR) 简述:     又称为后端渲染,服务器端在返回html之前,在html特定的区域特定的符号里用数据填充,再给客户端,客户端只负责解 ...

  3. 客户端渲染CSR、服务器端渲染SSR、预渲染Prerendering

    什么是客户端渲染 CSR 在进行SPA(单页面应用)开发时,大多数都会选择Vue.js.默认情况下,会生成vue组件,输出到浏览器,进行生成 DOM 和操作 DOM.使用vue.js开发的项目在浏览器 ...

  4. SAP UI渲染模式:客户端渲染 VS 服务器端渲染

    今年由于疫情原因,SAP一年一度的DKOM(Developer Kick-Off Meeting)切换成了线上模式,刚刚于昨天圆满落幕. 时间过得真快,去年的DKOM仿佛还历历在目:SAP成都研究院数 ...

  5. Qt 多线程TCP服务端一键关闭所有客户端

    Qt 多线程TCP服务端一键关闭所有客户端 任务描述: 实现多线程TCP服务端一键关闭所有客户端的连接. 解决过程: 1.Qt的服务端提供了close的功能,但是只用来不响应新接入的客户端. 手册中是 ...

  6. 启动go服务_内网穿透工具 FRP公网服务端、内网客户端快速配置文件说明

    内网穿透工具 FRP 公网服务端.内网客户端 frps.ini .frpc.ini 配置文件常用设置展示及说明 公网服务端 frps.ini 配置文件常用设置 公网服务端配置文件:frps.ini [ ...

  7. git的CentOS服务端安装和windows客户端的使用

    git的CentOS服务端安装和windows客户端的使用 此教程以 ***vps CentOS 6 x64 的系统为环境,搭建 git 服务端.windows 7 系统为客户端. git客户端 在W ...

  8. socket服务端处理多个客户端的请求学习理解

    socket服务端处理多个客户端的请求: while(true){ Socket s=ss.accept(); new WorkThread(s).start(); } class WorkThrea ...

  9. 【Socket编程】Python实现一个服务端,多个客户端接入

    Python实现一个服务端,多个客户端接入 1. 服务器端 服务器端每一次接收客户端连接,都要fork一个进程来完成,如果单纯使用socket模块来实现,是不容易完成多线程接入的.为了方便,可以直接使 ...

  10. 征服账号服务器,最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新...

    最新中文征服服务端(带架设教程+客户端补丁+需要的工具)10.13日更新 10月9号版本更新信息: 增加了 头像. 头像已经很完美了 天石 , 挖矿, 宝石效果 高级宝石 可以放出 动画 数据库已经改 ...

最新文章

  1. stone/reverse/string/digit(完美消除)
  2. 关于S/4HANA里Sales Office 和Sales Organization那些事儿
  3. python中if not是什么意思,python if not不同应用有什么区别,pythonifnot区别,python 中 "if...
  4. .NET中委托写法的演变(上):委托与匿名方法
  5. 如何进行产品战略规划
  6. JavaScript 原型对象和原型链
  7. 看看什么样的人适合网上开店( 转载)
  8. shell脚本批量删除几天前的文件
  9. How do I filtered TextBox with an Integer Data Type
  10. maven 添加支持编译jdk1.7
  11. jquery html 兼容ie8,IE浏览器 对 jquery版本的兼容性 支持
  12. 2022-2028全球与中国便携式监视雷达市场现状及未来发展趋势
  13. 计算机函数sumif求平均值,EXCEL的经典函数sumif的用法和实例(详细汇总)_excel函数_office之家...
  14. 屏幕刷新频率怎么更改?
  15. 内存条编号意义--怎么看内存条型号大小
  16. 机器学习算法-KMeans聚类算法解析及伪代码实现。
  17. 新闻发布系统之浅谈分页技术
  18. echarts全国地图china.js
  19. TP5 短信宝 发送短信验证码
  20. 计算机设备 软件总账和明细账,广东省会计从业资格考试《初级会计电算化》实务操作练习题.doc...

热门文章

  1. python3视频教程下载_Python 3 完全零基础入门精讲 视频教程 百度云下载
  2. 触景无限CEO肖洪波:冗杂的AI安防行业,需追寻“精益之道”
  3. c语言bmp图片拉普拉斯锐化,图像锐化算法(Image sharpening):拉普拉斯增强和Unsharp Masking(附代码)...
  4. 龙叔学ES:Elasticsearch XPACK安全认证
  5. 高盛选择穆迪ESG解决方案事业部主权气候危害数据集
  6. 内容分发技术哪家强?内容分发技术平台都有哪些
  7. 澳门大学开通CnOpenData试用
  8. 大数据会给我们的生活带来什么样的影响?
  9. 加快效率又节省生产时间,看MPC等五个工作室玩转Action
  10. 数据结构与算法 部分题目(字符串)