Skip to content

软件架构 B/S 和 C/S

软件应用架构

在我们生活中,常用的终端设备有智能手机,平板电脑,智能电视,车载信息娱乐系统,智能手表、智能手环,自动售票机,自动取款机等。而安装在这些设备上的应用大致分为 B/S 和 C/S 两种架构。

B/S 架构

B/S 架构是指浏览器-服务器(Browser/Server)架构,是一种基于 Web 的系统架构。用户通过浏览器访问应用程序。 在这种架构中,所有的业务逻辑和数据处理都在服务器端完成,而客户端只需要一个支持网络浏览器的设备即可。

- 特点:

  • 客户端轻量化: 用户不需要安装任何特定的客户端软件,只需使用标准的 Web 浏览器即可。
  • 易于部署和维护: 所有更新和维护工作都集中在服务器端进行,无需在每个客户端上操作。
  • 跨平台性: 只要有 Web 浏览器和网络连接,就可以从任何设备访问应用。

- 应用和案例:

网页版 QQ 邮箱,在线 processOn 等各种能在浏览器打开的网站,还有各种小程序,H5 页面。

C/S 架构

C/S 架构是指客户端-服务器 (Client/Server) 架构,是一种传统的分布式应用架构。应用程序被分为客户端和服务器两部分,客户端负责用户界面和用户交互,服务器负责业务逻辑和数据处理。

- 特点:

  • 功能丰富: 由于客户端可以安装专用的应用程序,因此可以提供更丰富的用户体验和功能。
  • 性能优势: 客户端可以利用本地计算资源进行一些计算密集型任务,减轻服务器压力。
  • 安全性: 相对于 B/S 架构,C/S 架构可以通过客户端应用程序更好地控制数据安全。
  • 部署复杂度: 需要在每个客户端机器上安装、配置和更新软件,增加了维护成本。

- 应用和案例:

微软的 Windows 操作系统、Adobe 的 Photoshop、电子游戏,微信,支付宝,抖音等各种 Android 和 iOS 应用

两者的联系与区别

- 联系:

  • 都属于客户端-服务器架构:无论是 B/S 还是 C/S 架构,其核心都是将应用分为客户端和服务端两部分,客户端负责用户交互,服务端负责数据处理和存储。

  • 都需要网络连接:两种架构都需要通过网络来实现客户端与服务器之间的通信。

  • 都可以支持多用户访问:这两种架构都能够支持多个客户端同时连接到服务器上进行操作。

- 区别:

  • 客户端形式不同: B/S 架构的客户端是浏览器,用户通过浏览器直接访问 Web 应用程序。 C/S 架构的客户端是一个独立的应用程序,需要预先安装在用户的计算机上。

  • 维护成本不同: B/S 架构由于客户端统一为浏览器,因此维护相对简单,只需更新服务器端的应用程序即可。 C/S 架构可能需要在每个客户端机器上进行软件升级或维护工作,这增加了维护的成本和复杂度。

  • 性能差异: B/S 架构依赖于浏览器的能力,对于复杂的业务逻辑和大量的数据处理可能不如 C/S 架构高效。 C/S 架构可以利用客户端的计算能力,适合处理大量数据和复杂的图形界面,提供更好的用户体验。

  • 安全性差异: B/S 架构中,所有数据和逻辑都在服务器端运行,这通常被认为更安全,因为不需要担心客户端上的数据泄露。 C/S 架构可能面临客户端的安全问题,比如客户端软件被恶意篡改等风险。

  • 可扩展性: B/S 架构更容易扩展,因为它只需要更新服务器端,而不需要对客户端进行任何修改。 C/S 架构扩展时可能需要更新客户端软件,这可能会导致一定的延迟。

  • 平台兼容性: B/S 架构通常具有更好的跨平台兼容性,因为大多数浏览器都能运行标准的 Web 技术栈(如 HTML、CSS、JavaScript)。 C/S 架构可能需要针对不同的操作系统开发不同的客户端版本。

上次更新于: