一、B/S架构分层
B/S架构分为三层:表现层,逻辑层,数据层
第一层表现层:即客户端,只有简单的输入输出功能,处理极少部分的事务逻辑。由于用户不需要安装客户端,所以它面向的是大范围的用户,所以界面设计得比较简单,通用。
第二层逻辑层:即Web服务器,扮演着信息传送的角色。当用户想要访问数据库时,就会首先向WEB服务器发送请求,WEB服务器收到请求后会向数据库服务器发送访问数据库的请求,这个请求是以SQL语句实现的。
第三层数据层:当数据库服务器收到了WEB服务器的请求后,会对SQL语句进行处理,并将返回的结果发送给WEB服务器,接下来,WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器,也就是我们打开浏览器看到的界面。
在B/S出现的早期,客户端指的是浏览器,只能显示静态页面,得不到良好的交互,不能进行大量的逻辑处理,当时浏览器主要用来实现信息的发布,是一种单向的应用。后来出现了动态网页,这里的动态有三个方面,一是交互,二是动画,三是数据。这样,浏览器的交互性能得到极大提高。页面也越来越丰富多彩。浏览器也能处理部分逻辑事务,所以浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端。
二、B/S架构的形式
1. 客户端-服务器-数据库
服务器软件分为两大类,一类是web服务器;另一类是应用程序服务器,即app server。常见的web服务器软件有IIS服务器和Apache;Java服务器、.NET服务器、PHP服务器是最常用的应用程序服务器软件。
- 客户端向服务器发送Http请求
- web服务器收到Http请求后进行处理,之后会向数据库服务器发送访问数据库的请求。web服务器的处理分为两层:服务器中的Web层解析Http请求;服务器中的应用层调用业务逻辑上的方法。
- 数据库服务器收到web服务器请求后,会对SQL语句进行处理,并将返回的数据发送给web服务器。web服务器中的应用层会对数据进行逻辑处理后,传到web层,web层将数据渲染成html返送回客户端。
2. 客户端-web服务器-应用服务器-数据库
第2种与第1种类似,只是将web服务和应用服务进行了解耦。
- 客户端向服务器发送Http请求
- web服务器接收到请求后进行解析,并且调用应用服务器提供的API接口
- 调用应用服务器的API接口,执行相应的API方法,向数据库服务器发送请求。
- 数据库服务器收到web服务器请求后,会对SQL语句进行处理,并将返回的数据发送给应用服务器,web服务器中的应用层会对数据进行逻辑处理后,将Json数据传给web服务器,web服务器将数据渲染成html返送回客户端