赵走x博客
网站访问量:151582
首页
书籍
软件
工具
古诗词
搜索
登录
2、PHP 简介
1、Web 程序工作原理
1、Web 程序工作原理
资源编号:76644
PHP 程序设计简明教程
书籍
热度:87
# (1)Web 一词的含义 network:【计算机】电脑网络,网 Web:【计算机】万维网(World Wide Web),互联网(Internet) Web 程序,顾名思义,即可工作在 Web 上的程序。实际上,它也可工作于企业内网(内联网:Intranet)、企业间 网(外联网:Extranet),只不过它在 Web 上更具应用优势,更为常见,故人们称它为 Web 程序。 # (2)单机程序工作原理 单机,即不连接到其他计算机的计算机,不在网络中。两单机 A、B,只在 A 上安装有程序 X,若要在 B 上得到 X 的运行结果,必须在 B 上安装一遍 C,然后运行之,若 B 类的计算机比较多,则需要逐一安装运行,非常麻 烦;它们之间不能直接进行通信和协作。如图 1 所示。  图 1 单机程序工作示意图 # (3)客户机/服务器程序工作原理 将单机连成网络,如将 A 与 B 连成网络,则可以使它们之间提供服务,如 A 向 B 提供服务。常见的服务是文件 共享,FTP 文件下载等。我们把提供(响应)服务的计算机称作服务器(Server),接受(请求)服务的计算机称 作客户机(Client),也叫工作站(Workstation)。服务器一般用性能较高的计算机担当。客户机/服务器程序的工作 原理如图 2 所示。  图 2 客户机/服务器程序的工作原理 服务器和客户机的角色可以转换。一台计算机,可以对自己提供服务,这时,它既是服务器,又是客户机。如, 计算机 A 把自己的文件夹 a 共享,然后在网络上找到 A,则可以下载 a,即自己对自己提供了服务,自己请求并 响应了服务。 客户机/服务器的这种计算机间的协作方式,称作 C/S 方式,或 C/S 架构。 C/S 程序分为两部分:服务器端部分和客户机端(以后简称客户端)部分,分别称为服务器端程序(或服务程序) 和客户端程序(或客户程序)。对于客户端程序,对每一个客户机,也都需要分别安装,这一点与单机程序的分 发相同,也很麻烦。但是,安装好了客户端程序后,就可以通过通信线路与服务器交互,或通过服务器,与其他 客户机通信。典型的例子是大家常用的聊天程序 QQ,如图 3 所示。  # (4)浏览器/服务器程序工作原理 若通过客户机中的浏览器(Browser),向服务器发出请求,接收其响应的结果,那么,这时,我们称这样的协 作方式为 B/S 方式,或 B/S 架构,其工作原理如图 4 所示:  图 4 浏览器/服务器程序的工作原理 这时,客户端程序就是浏览器,而浏览器的安装是随着操作系统的安装完成的,不需要用户额外安装。大多数情 况下,大多数人用的操作系统是 Windows 操作系统,对他们而言,使用 B/S 程序(如上网看新闻,收发电子邮 件),可不需要安装专门的客户端程序,直接在浏览器中操作即可。这使得 B/S 程序的维护十分方便,因为不用 管客户端程序,只要维护好服务器端程序即可。 人们说当今是一个网络时代,实际上着重指得是互联网时代,也就是 Web 的时代。人们使用这种 B/S 程序比较 多,是造成这种叫法的一个重要缘故。 本课程中的 Web 程序,就是指这种 B/S 程序。 # (5)C/S、B/S 中服务器的组成 服务器,是担负服务任务的机器。这些服务任务一般专门的软件来完成。一般地,把具有某种服务功能的服务器 软件及其所在的机器,都统称 XX 服务器(XX 表示某种具体服务)。这些软件可以集中于一台机器中(如图 5), 这样的机器可以称为集中式服务器;也可以单独存在于某台机器中(如图 6),这样的机器可以称为独立式服务 器,多个独立式服务器可组成服务器群或矩阵(台湾词为“阵列”)。  图 5 集中式服务器  图 6 由独立服务器组成的服务器群 按照服务任务,常见的几种服务器软件如表 1 所示。 表 1 几种常见服务器软件  服务器端脚本:用服务器端编程语言编写的程序。 服务器端编程语言:只运行在服务器端,被服务器所解释和执行的编程语言,如 PHP 语言。 # (6)B/S 程序工作的具体过程 说明:在以后的 B/S 程序图示中,通信线路不再特别表示。  图 7 B/S 程序工作过程示意图 # (7)PHP 程序工作的具体过程  图 8 PHP 程序工作过程示意图 具体过程是 Apache、PHP、浏览器之间的协作过程: 用户通过浏览器向服务器请求 PHP 文件(如在地址栏输入:http://211.64.40.187/index.php),Apache 在服务 器上的用户文档发布目录下查找浏览器所请求的 PHP 文件,若找不到,则向浏览器返回错误信息,否则,将其提交给 PHP 解释器解释执行,PHP 解释器对该 PHP 文件进行语法分析,若发现语法错误,则经 Apache 返回 错误信息(以浏览器能识别的代码表示)到浏览器,否则执行该 PHP 程序(可能包含对数据库 MySQL 的操作), 将 PHP 程序执行结果(以浏览器能识别的代码表示)经 Apache 返回到浏览器,浏览器对返回的结果进行解释、 执行,执行的结果显示在浏览器窗口中。 如果浏览器所请求的文件不是 PHP 文件,而是 HTML 文件(.htm 文件)或 JavaScript 文件(.js 文件),该过程 将简化:Apache 在服务器上的用户文档发布目录下查找浏览器所请求的 HTML 文件或 JavaScript 文件,若找不 到,则向浏览器返回错误信息,否则,将其返回给浏览器,浏览器对返回的结果进行解释、执行,执行的结果显 示在浏览器窗口中。