知识卡片
客户机/服务器风格与浏览器/服务器风格
内容
客户机/服务器(C/S)风格针对”资源不对等”问题提出,客户机和服务器是两个相互独立的逻辑系统,客户机发请求、服务器处理请求并返回结果;若两者在同一台机器上可用消息、共享存储区等方式通信,若在分布式环境中则需要RPC协议。两层C/S架构中客户机对小的特定数据集(如表的行)加锁而非整个文件,减少网络传输量、提升并发性;服务器负责数据安全性、并发访问控制、数据完整性规则和备份恢复。两层C/S的优点是分布式数据组织处理便利、位置透明、客户端与服务端可跨操作系统运行、组件独立隔离带来配置灵活性;缺点集中在六方面:客户机软硬件配置要求随版本升级越来越高、开发成本高;客户机负荷重、设计复杂度高;界面信息形式单一;升级维护需要到现场逐台更新客户机;单一服务器难以扩展到Intranet/Internet;数据安全性不高(客户机可直接访问数据库服务器)。三层C/S架构把部分业务逻辑抽成功能层放到应用服务器上,客户机只保留表示层——好处是逻辑结构更清晰、可维护可扩充性提升,安全性更高(未授权用户难以绕过功能层访问数据层),但代价是层间通信效率若不高,整体性能不会因单层硬件配置高而提升,通信方法/频率/数据量必须被仔细权衡。浏览器/服务器(B/S)风格是三层C/S的一种具体实现,用WWW浏览器取代专用客户端软件、Web服务器充当应用服务器:用户在浏览器输入URL发起HTTP请求,Web服务器调用应用程序并向数据库服务器发送数据操作请求、拿到结果后用HTML封装呈现——实现”零客户端”,系统安装修改维护全在服务器端完成,客户端升级只需升级浏览器即可同步更新所有用户。B/S的优点是开发成本低、跨平台通信统一、维护简单;缺点是个性化程度低、客户端数据处理能力差加重服务器负担、动态交互性不强不利于在线事务处理、可扩展性和安全性较差、查询速度通常慢于C/S。正因两者互有优劣,实践中C/S和B/S长期共存是常态。