C/S架构和B/S架构的含义及区别

1、C/S和B/S各自的含义

C/S架构:client-server即客户端-服务器;

具有两层结构:
第一层:客户端——表示层(界面层与逻辑层)
第二层:服务器模式——数据库层

架构流程:客户机——发送(Request)请求——服务器(即数据库)——数据库根据客户机的请求——进一步(Response)响应回去给客户机
在这里插入图片描述
优缺点:C/S将需要处理的业务合理地分配到客户端和服务器端,这样可以大大降低通信成本,但是升级维护相对困难。比如我们手机中安装的微信、qq、王者荣耀等应用程序就是C/S结构。

B/S架构: Browser-Server即“浏览器/服务器”模式。

三层架构:
第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能
第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能
第三层数据层:主要是接受客户端请求后独立进行各种运算

B/S架构的三种形式:
第一种:客户端—服务器—数据库(常用模式)
(1)客户端向服务器发起Http请求
(2)服务器中的web服务层能够处理Http请求
(3)服务器中的应用层部分调用业务逻辑,调用业务逻辑上的方法
(4)如果有必要,服务器会和数据库进行数据交换. 然后将模版+数据渲染成最终的Html, 返送给客户端

第二种:客户端—Web服务器—应用服务器—数据库
类似于第一种方法,只是将web服务和应用服务解耦
(1)客户端向web服务器发起Http请求
(2)web服务能够处理Http请求,并且调用应用服务器暴露在外的RESTFUL接口
(3)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给web服务器
(4)web服务器将模版+数据组合渲染成html返回给客户端

第三种:客户端—负载均衡器—中间服务器—应用服务器—数据库
这种模式一般用在有大量的用户,高并发的应用中
(1)整正暴露在外的不是真正web服务器的地址,而是负载均衡器器的地址
(2)客户向负载均衡器发起Http请求
(3)负载均衡器能够将客户端的Http请求均匀的转发给Node服务器集群
(4)Node服务器接收到Http请求之后,能够对其进行解析,并且能够调用应用服务器暴露在外的RESTFUL接口
(5)应用服务器的RESTFUL接口被调用,会执行对应的暴露方法.如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后,将json数据返回给Node
(6)Node层将模版+数据组合渲染成html返回反向代理服务器
(7)反向代理服务器将对应html返回给客户端

架构流程:
客户机浏览器——经过Http请求——Web服务器——经过查询——数据库服务器——响应查询后返回结果——Web服务器——再经过Http响应——返回给客户机浏览器
在这里插入图片描述
B/S总结:
B/S结构是随着互联网的发展,web出现后兴起的一种网络结构模式。这种模式统一了客户端,让核心的业务处理在服务端完成。你只需要在自己电脑或手机上安装一个浏览器,就可以通过web Server与数据库进行数据交互。在手机或电脑上用浏览器上百度搜索、看新闻等就是在使用“B/S”结构进行数据交互。
这种“B/S”结构的好处:维护和升级方式更简单,客户端是浏览器,基本不需要维护,只需要维护升级服务器端就可以。

2、B/S与C/S的区别

1、硬件环境不同:C/S通常是建立在专用的网络上,小范围的网络环境。而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行;
2、安全要求不同:C/S结构比B/S结构更安全,因为用户群相对固定,对信息的保护更强;而B/S结构面向的范围广,所以安全性比较低;
3、系统维护不同:B/S结构维护升级比较简单,而C/S结构维护升级相对困难。
4、系统性能不同:B/S结构主要逻辑处理在服务器,会给服务器带来压力,性能不高;而C/S结构客户端承担着一部分的逻辑处理业务,系统性能较高。
5、开发不同:B/S结构开发人员只需要关注服务器端业务处理,开发较容易;但是C/S结构需要第三方中间件产品,开发人员需要处理系统级业务,对开发人员要求较高。

详情见—> 参考博客

你可能感兴趣的:(基础知识,java)