当前位置 >> 课程学习 >> 第3章 >> 3.3 C/S和B/S模型

3.3 C/S和B/S模型

    通常使用的网络程序设计模型,主要有客户端/服务器(C/S)模型和浏览器/服务器(B/S)模型。
    C/S模型主要用于局域网或高性能网络中的软件开发,性能较高,界面表现能力强。常见的网络游戏如魔兽、聊天工具如QQ等都是基于C/S模型开发的。管理信息系统中,不依赖浏览器运行的一部分,也是基于C/S模型的。
    B/S模型主要用于地理分布广泛、对性能要求不是特别高的软件开发,界面表现手段也受到浏览器的限制。常见的网页游戏、网上论坛等都是基于B/S模型开发的。越来越多的管理信息系统使用了B/S模型。随着网络性能的提高和AJAX等web界面技术的发展,一些传统的C/S模型流行的软件,如电子邮件,已经有了像GMAIL这样广为使用的成熟的web版本。
    Flash和Java技术的发展,也提供一些新的界面技术表现手段,同时基于HTTP协议传送服务端和客户端间的信息,但是其界面并非纯粹的web。
    C/S的访问过程
    C/S模型的访问过程和结构如下。结构如图 20 C/S模型所示。
    由client上运行的应用程序发起与server的SQL会话。server之上运行着数据库。客户端与服务端的所有通信,都以直接的SQL语句形势存在。server返回client请求的数据集,由client进行处理后显示出来。
    界面在client上以Windows应用程序的方式直接显示。
    业务逻辑和界面显示都在client上,server端除数据库以外不提供任何功能。这实现了数据和业务逻辑的分离。
   

图20 C/S模型

    B/S的访问过程
    B/S模型的访问过程和结构如下。结构如图 21 B/S模型所示。
    以ASP程序为例,由browser发起服务请求,其请求通过HTTP协议提交给web server的一个ASP页面。该页面在执行中,通过SQL会话向数据库提交请求,并获得数据集,以HTML的形式把处理后的结果提供给browser。browser显示HTML结果。
    界面在browser上以浏览器解释和渲染HTML页面的方式显示。
    业务逻辑运行在web server上,界面的解释和显示由browser完成,这实现了业务逻辑和表现的分离。

图21 B/S模型