1 B/S
B/S(Brower/Server)架构,也称为B/S结构或B/S模式,是Web兴起后的一种网络结构模式。在这种模式下,Web浏览器成为客户端最主要的软件。系统功能实现的核心部分被集中到服务器上,这简化了系统的开发、维护和使用。客户机上只需要安装一个浏览器,而服务器上则安装了SQL Server、Oracle、MySQL等数据库。浏览器通过Web Server与数据库进行数据交互。
- B/S架构的分层包括:
- 第一层表现层:主要完成用户和后台的交互及最终查询结果的输出功能。
- 第二层逻辑层:主要是利用服务器完成客户端的应用逻辑功能。
- 第三层数据层:主要是接受客户端请求后独立进行各种运算。
- B/S架构的优点包括:
- 客户端无需安装,只要有Web浏览器即可。
- B/S架构可以直接放在广域网上,通过一定的权限控制实现多客户访问的目的,交互性较强。
- B/S架构无需升级多个客户端,升级服务器即可。可以随时更新版本,而无需用户重新下载。
- B/S架构的缺点包括:
- 在跨浏览器上,B/S架构的表现可能不尽如人意。
- 想要达到C/S程序的程度需要花费不少精力。
- 在速度和安全性上需要花费巨大的设计成本,这是B/S架构的最大问题。
- 客户端服务器端的交互是请求-响应模式,通常需要刷新页面,这并不是客户乐意看到的。(在Ajax风行后此问题得到了一定程度的缓解)
- 总的来说,B/S架构是一种将系统功能实现的核心部分集中到服务器中的网络架构模式,通过浏览器即可运行而不需要安装其他客户端。
- 应用场景
- 移动办公:在办公室内移动的时候可以使用任何一台电脑办公,而传统的OA是每台电脑对应指定的用户,别的用户不能使用该电脑,而且还需要安装调试软件,相当不方便。回家或离开办公室或出差到其他地方只要有可以上网的电脑也可以使用办公系统。分公司可以通过互联网、专线、电话网等连接使用资源共享,协同办公。
- 系统整合:无论是办公自动化管理系统,人力资源管理系统,客户关系管理系统,ERP等等,发展的趋势是不断融合,采用统一的B/S结构开发的产品无论是现在还是将来都是最好的选择。
2 C/S
C/S架构(Client/Server,客户端-服务器)是一种网络架构模式,应用程序被分为客户端和服务器两部分。客户端负责用户界面和用户交互,而服务器负责业务逻辑和数据处理。这种架构的特点包括高性能、灵活性、可扩展性等。
C/S架构的优势包括:
- 客户端可以进行本地处理,减轻服务器的负担,提供更好的用户体验和更高的性能。 可以支持离线工作。
- C/S架构适用于需要高性能、复杂数据处理和大规模并发的应用场景,如桌面应用、游戏等。
- C/S架构也存在一些缺点和挑战,例如需要安装客户端软件,维护成本高,安全性难以保证等。此外,由于客户端的不同操作系统和硬件环境,开发和测试成本也可能较高。
- C/S架构的一个重要特征是可扩展性,可以水平或垂直缩放。水平扩展意味着添加或删除客户端,工作站只会对性能产生轻微影响。垂直扩展意味着迁移到更大更快的服务器计算机或多服务器中。
- 此外,C/S架构的发展趋势包括云化和集成化、前后端分离、移动化和响应式设计、安全性和可靠性以及可视化和交互性等。这些趋势有助于提高系统的可扩展性、可维护性和安全性,并提高应用程序的用户友好性和易用性。
3 B/S和C/S区别
- 硬件环境:C/S通常建立在专用的网络上,如局域网,而B/S则建立在广域网之上,不必是专门的网络硬件环境,例如电话上网或租用设备,只要有操作系统和浏览器即可。
- 信息流:C/S程序的信息流一般是典型的中央集权的机械式处理,交互性相对较低。相反,B/S的信息流向可以变化,如B-B、B-C、B-G等,更像交易中心。
- 处理问题:C/S程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应都是相同的系统。而B/S建立在广域网上,面向不同的用户群,分散地域,这是C/S无法做到的。
- 用户接口:C/S程序多建立在Windows平台上,表现方法有限,对程序员普遍要求较高。而B/S建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度降低,减低开发成本。
- 对安全要求:C/S一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S结构适宜。可以通过B/S发布部分可公开信息;B/S建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。
- 对程序架构:C/S程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑;B/S对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。
4 B/S和C/S联系
- 交互性:无论是B/S还是C/S架构,都涉及到客户端与服务器之间的交互。在C/S架构中,客户端负责发送请求和接收响应,而服务器处理这些请求并返回响应。在B/S架构中,交互过程类似,但通过Web浏览器作为客户端与服务器进行交互。
- 事务处理:在C/S架构中,客户端和服务器均会分担一部分事务处理功能。而在B/S架构中,主要的事务逻辑由服务器处理。
- 安全测试:在安全性方面,C/S架构可以使用多种网络协议,甚至可以自定义协议,因此其安全性是有保障的。而B/S架构使用http协议,虽然最新的https协议在安全性方面有所提升,但还是弱于C/S。
- 配置测试:在配置测试方面,C/S架构的客户端需要进行安装和卸载测试,而B/S架构则无需安装,但要针对不同核心的浏览器进行兼容测试。
- 应用场景:两种架构各有适用的应用场景。C/S适用于用户面固定,安全要求高且操作系统相同的情况;而B/S则适用于广域网上的不同用户群和分散地域的应用场景。