PHP程序设计
上QQ阅读APP看书,第一时间看更新

1.3 Web工作原理

网站是客户端/服务器之间的会话,是由客户端向服务器发起的连接 ,并发送HTTP请求,而服务器并不会主动联系客户端或要求与客户端建立连接,需要客户端主动向服务器发送请求,建立连接。在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间。

当用户在客户端使用浏览器,并通过URL请求Web服务器管理下的HTML网页文件时,Web服务器软件会在其有权限管理的目录中寻找用户请求的HTML网页文件。如果用户请求的文件存在,则直接把网页中的内容代码返回给客户端请求的浏览器。浏览器在收到服务器返回的代码后,逐条解释成网页,显示给用户查看,这就是常说的静态网页。

如果用户向服务器请求的是一个脚本程序,如PHP文件、JSP文件或ASP文件,服务器会调用相应的引擎把PHP等代码转换成模板代码(HTML/CSS/JavaScript),再将结果返回给用户。因为Web服务器本身是不能解析脚本程序的,所以服务器除了要安装Web服务器Apache之外,还要安装可以解析脚本程序的应用程序服务器软件(如PHP应用服务器),并在Apache服务器中配置来自客户端的 PHP 文件的请求,即可以在服务器端使用 PHP 应用服务器来解析 PHP 程序。因为PHP应用服务器会理解并解释PHP代码的含义,这样就可以根据用户的不同请求进行操作,即通过PHP程序的动态处理,解释成不同的HTML静态代码返回给用户。当然,返回给客户端浏览器的只是一个很单纯的静态HTML网页,在用户端是看不到PHP程序源代码的,在一定程度上起到了代码保护的作用。

下面举例来说明用户请求一个页面的流程,请求过程可以包括下面几个步骤。

(1)打开浏览器,键入网址https://www.ptpress.com.cn,按<Enter>键。

(2)该请求被送入Web服务器上。

(3)Web服务器解析请求,从硬盘中获取index.php。

(4)PHP引擎解析运行index.php文件,生成HTML文件。

(5)Web服务器将该HTML文件发往客户端浏览器。

(6)浏览器收到文件,用户可以看到显示的页面效果。

如果网站的内容是保存在服务器端的数据库中,则还需要为服务器安装数据库管理系统(如MySQL),用来存储和管理网站中的数据。MySQL服务器和Apache服务器可以安装在同一台计算机上,也可以分开安装,通过网络相联即可。由于Apache服务器无法连接或者操作MySQL服务器,因此,也要安装PHP应用服务器。这样Apache服务器就可以委托PHP应用服务器,通过解释PHP脚本程序去连接或操作数据库,完成用户的请求。