概述
客户端服务器(Client Server)结构简称CS结构,是一种网络架构,通常在该网络架构下软件分为客户端(Client)和服务器(Server)两部分。
服务器是整个应用系统资源的存储与管理中心,多个客户端则各自处理相应的功能,共同实现完整的应用。在客户端一服务器结构中,客户端用户的请求被传送到数据库服务器,数据库服务器进行处理后,将结果返回给用户,从而减少了网络数据传输量。
用户使用应用程序时,首先启动客户端通过有关命令告知服务器进行连接以完成各种操作,而服务器则按照此请示提供相应的服务。每一个客户端软件的实例都可以向一个服务器或应用程序服务器发出请求。
这种系统的特点,就是客户端和服务器程序不在同一台计算机上运行,这些客户端和服务器程序通常归属不同的计算机。
客户端服务器结构通过不同的途径可以用于很多不同类型的应用程序,比如,现在人们最熟悉的网页。例如,当顾客想要在XX网站上买书的时候,电脑和网页浏览器就被当作一个客户端,同时,组成XX网的电脑、数据库和应用程序就被当作服务器。当顾客的网页浏览器向当当网请求搜索数据库相关的图书时,XX网服务器从XX网的数据库中找出所有该类型的图书信息,组合成一个网页,再发送回顾客的浏览器。服务器端一般使用高性能的计算机,并配合使用不同类型的数据库,比如Oracle,Sybase和PostgreSQL等;客户端需要安装专门的软件,比如浏览器。2
客户端服务器软件是能够完成客户端服务器结构网络预定功能和性能的可执行的计算机程序和使程序能够正常执行所需要的数据,加上描述程序的操作和使用的文档。1
客户端和服务器软件把众多的计算机连接成一个网络的目的是为了让客户端的计算机从服务器上获得服务。例如,如果用户想要打开某个网址,则下面的两个软件是必不可少的:
(1)客户端程序,它知道如何发出访问服务器的请求,以及如何接收从服务器返回的信息。
(2)服务器程序,它知道如何侦听用户的请求,并知道如何回答请求信息。
客户端程序:web浏览器首先需要一台计算机,运行一个Firefox或IE的浏览器。下面将用网络客户端-服务器的基本术语来重新表达这些内容。
从技术上讲,根本不存在“万维网(World Wide Web)”之类的东西,但是确实存在一个关于如何传输文本、图片等信息的协议,它就是超文本传输协议(HyperText Transfer Protocol)一通常用HTTP缩写符表示。万维网这个术语就是指Interact上的所有使用HTTP协议的服务器。当读者在万维网上冲浪时,实际发生的过程是:
(1)用户计算机向Web服务器发出“服务器上有某某文档吗?”这样的请求(这里的服务器是指HTTP服务器)。
(2)Web服务器响应说:“这是我的默认文档”,这是指一个简单的文本文档,通常称为服务器的主页。Web服务器用HTTP协议把这个主页文档传送给客户端。
(3)当客户端接收到这个主页文档时,它发现该文档里有很多指向其他文件的引用。例如用户请求的主页里有图片,但Web浏览器(HTTP客户端)原来并没有发出对这些图片文件的请求,因此Web服务器(HTTP服务器)并没有传送这些图片文件。当读者的客户端发现缺少了这些图片文件时,则再次请求服务器传送——当然这次同样是使用HTTP协议进行传送。
这里的“HTTP客户端”就是指这样一个程序:它用一个特定的语言传送一类特定的数据。特定语言就是HTTP协议,特定数据就是Web数据。如果读者的计算机不能用HTTP语言诱求或接收数据,则该计算机就不能与Web服务器进行交互。
注意,这里的客户端既不是指用户,也不是指用户的计算机,而是指在用户计算机里运行的一个程序。
服务器程序:Web服务器现在介绍会话的另一方,即我的Web服务器的情况。
当然我需要一台安装了特殊软件的计算机。这个软件专门负责监听来自用户计算机的通过HTTP语言发来的请求,并把用户请求的网页返回给客户端程序。我们不妨称这样的软件为“HTTP服务器”程序,但是没有人用这个名称,我们更经常称它为Web服务器软件。这样的程序有很多,它们都可以运行在Windows Server 2008计算机里。但是,最常用的是WindowsServer 2008自带的程序,即Intemet Information Services 7.0(简写为ⅡS7.0),或者使用一个从Internet上免费下载的Apache程序。
再次注意这里“服务器”的含意。它不是指网络机房里、连接到Internet上的那台计算机,而是指运行在计算机里一个专门监听HTTP请求并且知道如何响应HTTP请求的程序。
介绍完上述内容之后,现在我们来考虑一个问题——为什么需要网络?答案可能是,我们想要建立一个Web站点,这个站点可能只限于公司的内部使用,也可能是公共的Internet,并且要使用被公认为最好的Web服务器ⅡS(最好是指性能高,或价格便宜,或性能高价格又便宜),这也意味着,我们必须使用Server 2008,因为它是唯一支持ⅡS7.0的操作系统。
其他类型的服务器在讨论这个问题时,我总是以Web客户端一服务器为例进行说明。但是不要忽视了这样一个事实:除了Web服务器外,还有很多常用的客户端-服务器系统也可以用Windows Server 2001来创建。网络提供了几个很有用的服务,可用来把用户的一个计算机设置为一个服务器,并且提供服务。除了Web服务器外,还有如下的服务器。
(1)文件服务器
文件服务器相当于一个数据文件的存储中心。为什么要把文件集中保存在一个服务器里,而不保存在本地的计算机里?在某些情况下,建立一个文件并把这个文件保璃在中央服务器上是让其他人共享此文件的最简单的方法。把文件保存在中央服务器上的另一个优点是:备份更方便。
(2)打印服务器
打印服务器允许用户共享打印机。由于并非每个人都想在自己的办公桌上放一台打印机,并且可以提供昂贵的打印设备(意味更好的打印机)。
(3)应用程序服务器
应用程序服务器允许多个用户共享Intemet上的一个应用程序。此外,我们还可以把一个应用程序的各个模块分布到各个服务器,这样,我们就可以用多个服务器得到一个完整的结果。Windows Server 2008提供了可创建服务器应用程序的软件,以及可以从中央服务器管理各主机上的应用程序的软件。
(3)电子邮件服务器
我们发送邮件离不开邮件服务器。某些计算机必须承担邮局的功能,从本地用户收集邮件,再把它们发送到Internet上的其他邮件服务器,或者作为邮件的接收点,接收由其他邮件服务器转发过来的邮件。我们也可以把这个功能外包给ISP服务商,通过他们的邮件服务器处理邮件,但是拥有自己的邮件服务器可以有更多灵活的选择(但是这要求服务器必须持久地连接到Internet上)。
(4)终端服务器
终端服务器这个名称把我们带回到了大型机的时代(想想我们在以前的电影里看到的那种超大的计算机,大型机是一个可供多人同时使用的庞大计算机)。有的人用一个终端从远程登录这个大型计算机,并且使用它提供的服务。现代用户可利用这个功能使用较少的设备远程访问终端服务器。利用远程终端服务器可以节省成本,管理员可以利用该功能管理服务器。利用一个名为“远程桌面”的终端服务器程序,我们就不需要跑到服务器那里也可以对服务器进行管理操作。
(5)组调度服务器
服务器的中央化性质决定了可以用它来跟踪稀缺资源,如会议室或工作安排,最合适不过了。除了Exchange软件外,有一些基于Web的调度工具也非常出色。
(6)SharePoint服务器
SharePoint服务器允许用户与其他用户协同工作,即使他们不在同一个位置。例如,来自英国、美国和日本的用户可以协作编辑一个文档,就好像他们在同一个地方工作一样。与本地连接一样,他们也可以共享(如通讯录等)信息。管理人员也可以用SharePoinl服务器把应用程序部署到远程系统上,这样就不需要总是跑到远程机器那里了。
(7)电子商务在线商店
如果有很好的东西出售,则万维网就是一个很好的地方。在万维网上,有成千上万个在线商店,它们中的大多数都运行在网络平台上。3