html5网站模板移动端,wordpress怎么上传高清图片大小,网站换vps,北京app开发网站建设深入理解B/S与C/S架构
阅读目录 C/S架构简要介绍 什么是B/S架构 B/S架构的几种形式 发展前景 一、C/S架构简要介绍
在了解什么是B/S架构之前#xff0c;我们有必要了解一下什么是C/S架构#xff1a;
C/S架构是第一种比较早的软件架构#xff0c;主要用于局域网内。也叫…深入理解B/S与C/S架构
阅读目录 C/S架构简要介绍 什么是B/S架构 B/S架构的几种形式 发展前景 一、C/S架构简要介绍
在了解什么是B/S架构之前我们有必要了解一下什么是C/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浏览器即可。 2、BS架构可以直接放在广域网上通过一定的权限控制实现多客户访问的目的交互性较强。 3、BS架构无需升级多个客户端升级服务器即可。可以随时更新版本而无需用户重新下载啊什么的。
B/S架构的缺点
1、在跨浏览器上BS架构不尽如人意。 2、表现要达到CS程序的程度需要花费不少精力。 3、在速度和安全性上需要花费巨大的设计成本这是BS架构的最大问题。 4、客户端服务器端的交互是请求-响应模式通常需要刷新页面这并不是客户乐意看到的。在Ajax风行后此问题得到了一定程度的缓解
三、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返回给客户端
第三种方法客户端负载均衡器(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、反向代理能够解决跨域引起的问题因为NginxNode,应用服务器数据库都处于内网段中。
3、Nginx非常擅长处理静态资源(img,css,js,video)所以也经常作为静态资源服务器也就是我们平时所说的CDN 比如前一个用户访问index.html, 经过NginxNode应用服务器数据库链路之后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模式就它不需要专门的客户端只要浏览器而浏览器是随操作系统就有的方便就是他的优势了。 而且B/S是基于网页语言的、与操作系统无关所以跨平台也是它的优势而且以后随着网页语言以及浏览器的进步 B/S在表现能力上的处理以及运行的速度上会越来越快它的缺点将会越来越少。尤其是HTML5的普及在图形的渲染方面以及音频、文件的处理上已经非常强大了。 不过C/S架构也有着不可替代的作用