客户端架构(C/S架构和B/S架构)

C/S架构

什么是C/S架构?

  • C表示Client客户端
  • S表示Server服务器,服务器管理着某种资源Resource,通过操作这种资源为客户端提供服务。

C/S架构的工作流程

1.客户端进程向服务器进程发送请求

2.服务器进程接收并处理请求

3.服务器进程向客户端进程发送响应

4.客户端进程处理响应

C/S架构的典型应用——套接字Socket

Socket原意为插口,所表达的意思是插口与插槽之间的关系。

Socket是对TCP/IP编程的抽象,简单来说,是send socket插入到receive socket中以建立连接进行通信。

客户端架构(C/S架构和B/S架构)_第1张图片

Socket之间建立连接并通信的过程 

C/S架构中Socket之间是如何建立连接并通信的呢?

1.服务端Socket绑定bind到指定的端口上后监听listen客户端的插入;

2.客户端Socket连接到connect到服务端;

3.当服务端accept到客户端连接后;

4.客户端与服务端之间收发信息开发通信;

5.通信完成后客户端与服务器关闭close掉Socket。

 B/S架构

  • B表示Browser浏览器
  • S表示Server服务器,服务器管理着某种资源Resource,通过操作这种资源为浏览器提供服务。

        BS,即B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式。该模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。它与C/S结构不同,其客户端不需要安装专门的软件,只需要浏览器即可,浏览器通过Web服务器与数据库进行交互,可以在不同平台下工作;其服务端可采用高性能计算机,并安装Oracle、Sybase、Informix等大型数据库。

客户端架构(C/S架构和B/S架构)_第2张图片

        Browser/Server结构主要是利用了不断成熟的Web浏览器技术:结合浏览器的多种脚本语言和ActiveX技术,用通用浏览器实现原来需要复杂专用软件才能实现的强大功能,同时节约了开发成本。
        B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。
        B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。 

架构特点       

客户端架构(C/S架构和B/S架构)_第3张图片

B/S结构的三层模式

        (1)维护和升级方式简单。当前,软件系统的改进和升级越发频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

        (2)成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。 当前的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用哪种操作系统都可以让大部分人使用windows作为桌面电脑操作系统不受影响,这就使得最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。
比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

        (3)应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

客户端架构(C/S架构和B/S架构)_第4张图片

C/S架构和B/S架构区别与联系

        C/S是Client/Server的缩写。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或SQL Server。客户端需要安装专用的客户端软件。
B/S是Browser/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或SQL Server等数据库。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现。浏览器通过Web Server同数据库进行数据交互。
        系统开发中C/S结构(Client/Server)中Client(客户端)往往可以由B/S结构(Browser/Server结构)的Browser(浏览器)及其载体承担,C/S结构的Web应用与B/S结构(Browser/Server结构)且有紧密联系。大系统和复杂系统中,C/S结构和B/S结构的嵌套也很普遍。
        原来的Client/Server结构转变成Browser/Server结构后,客户机的压力大大减轻,负荷被均衡地分配给了服务器。由于这种结构不再需要专用的客户端软件,因此也使技术维护人员从繁重的安装、配置和升级等维护工作中解脱了出来,可以把主要精力放在服务器程序的更新工作上。同时,使用Web浏览器作为客户端软件,界面友好,新开发的系统也不需要用户每次都从头学习。而且,这种三层模式,层与层之间相互独立,任何一层的改变都不影响其他层原有的功能,所以可用不同厂家的产品组成性能更佳的系统。总之,三层模式的Browser/Server结构从根本上弥补了传统的二层模式的Client/Server结构的缺陷,是应用系统体系结构中一次深刻的变革。

B/S架构和C/S架构两者差异点如下:

1、网络不同

B/S架构:主要用于外网,可通过广域网进行访问(也可用于内网);

C/S架构:主要用于内网,建立在专用的网络上(比如局域网),小范围访问。

2、安全性不同

B/S架构:安全性较低,容易受到他人的网络入侵;

C/S架构:安全性较高,封闭式网络不容易受到他人网络入侵。

3、便捷性不同

B/S架构:便捷性较高,不需要安装特定的客户端,通过网址访问;

C/S架构:便捷性较低,需要安装特定的客户端才能进行访问。

你可能感兴趣的:(Linux提高,架构,服务器)