B/S和C/S都是随着互联网的发展而出现的一种网络结构模式
一. B/S结构
B是英文单词"Browser"的首字母,即浏览器的意思;S是英文单词"Server"的首字母,即服务器的意思。B/S就是"Browser/Server"的缩写,即"浏览器/服务器"模式。
这种模式统一了客户端,让核心的业务处理在服务端完成.只要在电脑或手机上安装浏览器,就可以通过web Server 与数据库进行数据交互了
二. C/S结构
C是英文单词"Client"首字母,即客户端的意思,C/S就是"Client/Server"的缩写,即"客户端/服务器"模式, 主要用于局域网内。
它是一种软件系统体系结构,它是将需要处理的的业务合理的分配到客户端和服务器端,这样可以降低通信成本,但是升级相对困难,就像我们手机中安装的微信,qq,王者农药等应用程序都是C/S结构的
C/S架构软件有一个特点,就是如果用户要使用的话,需要下载一个客户端,安装后就可以使用
三. B/S结构和C/S结构的区别
1.硬件环境不同.C/S通常是建立在专用的网络上,小范围的网络环境,而B/S是建立在广域网上的,适应范围强,通常有操作系统和浏览器就行
2.C/S比B/S结构更安全,因为用户群相对固定,对信息的保护更强
3.B/S结构维护升级比较简单,而C/S结构维护升级相对困难;
四.B/S架构的几种形式
第一种:客户端-服务器-数据库
这个应该是我们平时比较常用的一种模式:
1、首先客户端向服务器发起Http请求
2、然后web服务器收到Http请求后会进行处理
3、然后服务器中的应用层会调用部分业务逻辑,调用业务逻辑上的方法,之后会向数据库服务器发送访问数据库的请求
4、数据库服务器收到web服务器请求后,会对SQL语句进行处理,并将返回的数据发送给web服务器,web服务器中的应用层会对数据进行逻辑处理后,传到web层,web层将数据渲染成html返送回客户端。
第二种:客户端-web服务器-应用服务器-数据库
类似于第一种方法,只是将web服务和应用服务解耦
1.客户端向web服务器发起Http请求
2.web服务器接收到请求后进行解析,并且调用应用服务器露在外的RESTFUL接口
3.调用应用服务器的API接口,执行相应的API方法,向数据库服务器发送请求。
4.数据库服务器收到web服务器请求后,会对SQL语句进行处理,并将返回的数据发送给应用服务器,web服务器中的应用层会对数据进行逻辑处理后,将Json数据传给web服务器,web服务器将数据渲染成html返送回客户端
第三种方法:客户端-负载均衡器(Nginx)-中间服务器(Node)-应用服务器-数据库
- 正在暴露在外的不是真正的web服务器地址,而是负载均衡器(Nginx)的地址
2.客户端向服务器负载均衡发送Http请求
3.负载均衡器会将客户端的Http请求均匀的转发给Node服务器集群
4.Node服务器接收到Http请求之后,能够对其进行解析,并且会调用应用服务器暴露在外的Restful接口
5.应用服务器的RESTFUL接口被调用,会执行对应的暴露方法,如果有必要和数据库进行数据交互,应用服务器会和数据库进行交互后, 将json数据返回给Node 发展
6.Node层将模版+数据组合渲染成html返回反向代理服务器
7.最后反向代理服务器将对应html返回给客户端
五.发展
B/S架构是从C/S架构改进而来,可以说是三层C/S架构,由此可见两者关系不一般。B/S从C/S中脱离而出,后来随着WEB技术的飞速发展以及人们对网络的依赖程度加深,B/S一举成为当今最流行的网络架构。两种架构都在各自岗位上虎虎生威,它们各有千秋,都是非常重要的网络架构。在响应速度,用户界面,数据安全等方面,C/S强于B/S,但是在业务扩展和适用www条件下,B/S明显胜过C/S。可以这么说,B/S的强项就是C/S的弱项,反之亦然。它们各有优缺点,相互无法取代。