在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
深入理解B/S与C/S架构 阅读目录
其实B/S架构是属于后台方面的东西,不过作为一个前端,也是需要了解一下滴 C/S架构简要介绍在了解什么是B/S架构之前,我们有必要了解一下什么是C/S架构:
这里需要补充的是,客户端不仅仅是一些简单的操作,它也是会处理一些运算,业务逻辑的处理等。也就是说,客户端也做着一些本该由服务器来做的一些事情 C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用。比如QQ,OFFICE软件等。 C/S架构的优点:1 C/S架构的界面和操作可以很丰富。(客户端操作界面可以随意排列,满足客户的需要) 2 安全性能可以很容易保证。(因为只有两层的传输,而不是中间有很多层。 3 由于只有一层交互,因此响应速度较快。(直接相连,中间没有什么阻隔或岔路,比如QQ,每天那么多人在线,也不觉得慢) C/S架构的缺点:可以将QQ作为类比: 1 适用面窄,通常用于局域网中。 2 用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户。 3 维护成本高,发生一次升级,则所有客户端的程序都需要改变。 什么是B/S架构B/S架构的全称为Browser/Server,即浏览器/服务器结构。 Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现。 B/S架构的系统无须特别安装,只有Web浏览器即可。 其实就是我们前端现在做的一些事情,大部分的逻辑交给后台来实现,我们前端大部分是做一些数据渲染,请求等比较少的逻辑。 B/S架构的分层:与C/S架构只有两层不同的是,B/S架构有三层,分别为: 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。 第三层数据层:主要是接受客户端请求后独立进行各种运算。 如图所示: B/S架构的优点: 1、客户端无需安装,有Web浏览器即可。 B/S架构的缺点:1、在跨浏览器上,BS架构不尽如人意。 B/S架构的几种形式第一种:客户端-服务器-数据库这个应该是我们平时比较常用的一种模式: 1、客户端向服务器发起Http请求 2、服务器中的web服务层能够处理Http请求 3、服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法 4、如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端 第二种:客户端-web服务器-应用服务器-数据库
1 客户端向web服务器发起Http请求 2 web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口 3 应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器 4 web服务器将模版+数据组合渲染成html返回给客户端 第三种方法:客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库这种模式一般用在有大量的用户,高并发的应用中。 1、整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址 2、客户向负载均衡器发起Http请求 3、负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群 4、Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口 5、应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node 6、Node层将模版+数据组合渲染成html返回反向代理服务器 7、反向代理服务器将对应html返回给客户端 Nginx的优点有:1、它能够承受、高并发的大量的请求,然后将这些请求均匀的转发给内部的服务器,分摊压力. 2、反向代理能够解决跨域引起的问题,因为Nginx,Node,应用服务器,数据库都处于内网段中。 3、Nginx非常擅长处理静态资源(img,css,js,video),所以也经常作为静态资源服务器,也就是我们平时所说的CDN 比如:前一个用户访问index.html, 经过Nginx-Node-应用服务器-数据库链路之后,Nginx会把index.html返回给用户,并且会把index.html缓存在Nginx上, 下一个用户再想请求index.html的时候,请求Nginx服务器,Nginx发现有index.html的缓存,于是就不用去请求Node层了,会直接将缓存的页面(如果没过期的话)返回给用户。 发展前景1、 C/S和B/S各有优势,C/S在图形的表现能力上以及运行的速度上肯定是强于B/S模式的,不过缺点就是他需要运行专门的客户端,而且更重要的是它不能跨平台,用c++在windows下写的程序肯定是不能在linux下跑的。 2、B/S模式就,它不需要专门的客户端,只要浏览器,而浏览器是随操作系统就有的,方便就是他的优势了。
注:本文系转载,如有侵犯版权问题,请通知。本人立即删除。
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论