1.1 应用网络模型的演变
早期的计算机只是独立的主机,用于完成一系列单独的任务,比如数学计算,主机之间并无连接。随着计算机技术的应用和推广,使用计算机的用户越来越多。出于共享资源、相互通信等需求,人们开始研发不同的网络模型,从实验室里的小型局域网,发展到今天的无处不在、无所不能的互联网,期间主要经历了主机/终端、客户机/服务器(C/S)、浏览器/服务器(B/S)等应用网络模型的演变。
1.1.1 主机/终端网络模型
主机/终端(mainframe /terminal)网络模型是个人计算机没产生之前比较流行的网络模型,其工作原理如图1-1所示。
1.主机(mainframe)
主机(mainframe),也称作大型主机或大型机,是19世纪60年代发展起来的计算机系统,具有一流的处理能力、稳定性和安全性。在主机/终端网络模型中,终端通过分时系统轮流分配使用主机的处理器和内存,因此主机的硬件配置通常很高。早期的主机甚至体积都很大,如 1954年推出的IBM 704大型机,如图1-2所示。因为成本很高,通常只有政府、金融系统、科学计算等行业使用大型机系统。
在主机/终端(mainframe /terminal)网络模型中,主机并不一定使用大型机,也可以使用服务器,甚至普通 PC。比较常见的主机/终端网络模型的应用就是一些超市的收银系统,其主机显然不可能使用昂贵的大型机。
图1-1 主机/终端网络模型的工作原理
图1-2 IBM 704大型机
2.终端(terminal)
终端指端点用户与主机进行通信的设备,不具有存储和计算能力。传统的终端由键盘和显示器组成,如图1-3所示。
图1-3 传统的终端
终端通过介质与主机连接。离开主机,终端几乎做不了任何事。用户通过键盘在终端上输入命令,终端通过介质将命令传送到主机,主机执行命令后将结果传送回终端,并显示在显示器的屏幕上(通常只支持字符模式)。终端上没有操作系统,因此不能安装任何应用软件,它所做的任何事情都是主机指示的。
主机/终端网络模型在个人计算机出现之前曾广泛应用。20世纪80年代直至90年代初,国内实验室的机房基本都采用主机/终端网络模型。
随着个人计算机的推广,现在已经很少有人使用终端了。但还有一些银行和超市使用主机/终端网络模型。
1.1.2 客户机/服务器(C/S)网络模型
随着个人计算机逐渐取代终端,从主机/终端网络模型也衍生出了客户机/服务器(C/S)网络模型,其工作原理如图1-4所示。
图1-4 客户机/服务器网络模型
因为个人计算机有独立的处理能力,所以客户机/服务器网络模型对服务器的要求并不是很高,不需要使用大型机,在一般的应用中只需要使用PC服务器即可。
客户机/服务器网络模型的特点是客户机通过发送一条消息或一个操作来启动与服务器之间的交互,而服务器通过返回消息进行响应。
典型的客户机/服务器网络模型就是支持多用户的数据库管理系统,比如本书介绍的 MySQL数据库。
客户机/服务器结构把整个任务划分为客户机上的任务和服务器上的任务。下面以数据库管理系统为例进行说明。
客户机必须安装操作系统和必要的客户端应用软件,客户机上的任务主要如下。
• 建立和断开与服务器的连接。
• 提交数据访问请求。
• 等待服务通告,接收请求结果或错误。
• 处理数据库访问结果或错误,包括重发请求和终止请求。
• 提供应用程序的友好用户界面。
• 数据输入/输出及验证。
同样,服务器也必须安装操作系统和必要的服务器端应用软件,服务器上的任务主要如下。
• 为多用户管理一个独立的数据库。
• 管理和处理接收到的数据访问请求,包括管理请求队列、管理缓存、响应服务、管理结果、通知服务完成等。
• 管理用户账号、控制数据库访问权限和其他安全性。
• 维护数据库,包括数据库备份、恢复等。
• 保证数据库数据的完整或为客户提供完整性控制手段。
1.1.3 浏览器/服务器(B/S)网络模型
在C/S网络模型中,客户端和服务器都需要安装相应的应用程序,而且不同的应用程序需要安装不同的客户端程序,系统部署的工作量很大。
随着互联网的应用和推广,浏览器/服务器(B/S)网络模型诞生了,其工作原理如图1-5所示。
图1-5 浏览器/服务器(B/S)网络模型
B/S结构的应用程序只需要部署在Web服务器上即可,应用程序可以是HTML(HTM)文件或 ASP、PHP 等脚本文件。用户只需要安装 Web 浏览器就可以浏览所有网站的内容,这无疑比C/S结构应用程序要方便得多。
Web浏览器的主要功能如下。
• 由用户向指定的Web服务器(网站)申请服务。申请服务时需要指定Web服务器的域名或IP地址以及要浏览的HTML(HTM)文件或ASP、PHP等脚本文件。如果使用ASP作为开发语言,则Web服务器只能使用Windows;如果使用PHP作为开发语言,则Web服务器可以选择使用Windows或UNIX、Linux等多种平台。可见,PHP具有更大的灵活性。而且UNIX平台下的软件多为开放源代码的免费软件,包括MySQL数据库,因此选择PHP开发Web应用程序的实施成本更低。
• 从Web服务器下载申请的HTML(HTM)文件。
• 解析并显示HTML(HTM)文件,用户可以通过Web浏览器申请指定的Web服务器
• Web浏览器和Web服务器使用HTTP协议进行通信。
Web服务器通常需要有固定的IP地址和永久域名,其主要功能如下。
• 存放Web应用程序。
• 接收用户申请的服务。如果用户申请浏览ASP、PHP 等脚本文件,则Web 服务器会对脚本进行解析,生成对应的临时 HTML(HTM)文件。PHP 是服务器端的脚本语言。它可以嵌入HTML语言,因此在使用PHP编写Web应用程序时,可以先使用Dreamweaver设计网页界面,然后使用在网页中添加PHP程序,这对于程序设计人员是很方便的。
• 如果脚本中需要访问数据库,则将SQL语句传送到数据库服务器,并接收查询结果。
• 将HTML(HTM)文件传送到Web浏览器。
共有条评论 网友评论