B/S与C/S简单比较

2009-8-3

B/S,即软件系统的浏览器/服务器(Browser/Server)应用模式,是浏览器接收了用户的鼠标和键盘操作,然后这些操作最多通过简单的javascript或者dhtml包装(例如装入某个input标签的value),回发给WEB服务器。WEB服务器接下来输出下一个页面。在WEB端,不暴露任何除了http服务器以外的传统服务器,例如数据库服务器、邮件服务器、组件服务器、其它业务服务器(完全是跨平台的)等等。

C/S,即软件系统的客户端/服务器(Client/Server)应用模式,则是依赖于程序员写的程序的水平和服务器系统与应用系统综合控制能力,传统编程方式中上述服务器通常都暴露给终端。看看周边的程序员写的C/S程序,我相信很少有人写的此类程序具有起码的安全性。很多公司的ERP是直接从客户端打开后台数据库的,而这些打开命令甚至不用反汇编客户程序,只要搜索一下特征代码就能从DLL中发现。而.NET的DLL更不牢固。

从信息流上来说,由于B/S服务器的设计用于“服务于大规模用户请求”的,所以它是把请求集中成一个数据块(一个http的GET或者POST命令)传递给WEB服务的,然后服务也仅仅送还一个文件或一个数据块(特别是Ajax技术的B/S应用)。而C/S按照传统的写法,特别是界面比较复杂的程序,内部各个控件都会独立、重复地请求各自需要的服务器,因此是许多个请求,比B/S对带宽的需求多许多倍。如何避免滥用带宽,让服务器也能在较低的成本下服务几百个客户端,设计上很难。