PHP动态网站程序设计(第2版)电子书下载

简介: 一方面侧重对PHP基本原理和方法的深入讲解;另一方面重视对实用技术的讲解,以增强学习兴趣。

第1章

动态网站的原理和运行机制

随着“互联网+”时代的到来,各行各业制作网站的热情高涨。目前的网站一般都是动态网站,简单地说,动态网站是一种使用HTTP(HypertextTransfer Protocol,超文本传输协议)作为通信协议,通过网络让浏览器与服务器进行通信的计算机程序。开发动态网站可分为两个方面:一是网站的界面设计,主要是用浏览器能理解的代码及图片设计网页的界面;二是网站的程序设计,用来实现网站的新闻管理、与用户进行交互等各种功能。

1.1 动态网站的原理

1.1.1 动态网站的起源

动态网站是一种基于B/S结构的网络程序。那么什么是B/S结构呢?这就先要从网络软件的应用模式说起。

早期的应用程序都是运行在单机上的,称为桌面应用程序。后来由于网络的普及,出现了运行在网络上的网络应用程序(网络软件)。网络应用程序有C/S和B/S两种体系结构。

1. C/S体系结构

C/S是Client/Server的缩写,即客户机/服务器结构,这种结构的软件包括客户端程序和服务器端程序两部分。就像大家常用的QQ等网络软件,需要下载并安装专用的客户端软件(见图1-1),并且服务器端也需要特定的软件支持才能运行。

图1-1 C/S结构的QQ客户端界面

C/S结构最大的缺点是不易于部署,因为每台客户端计算机都要安装客户端软件。而且,如果客户端软件需要升级,则必须为每台客户端单独升级。另外,客户端软件通常对客户机的操作系统也有要求,如有些客户端软件只能运行在Windows平台下。

2. B/S体系结构

B/S是Browser/Server的缩写,即浏览器/服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,客户端软件由浏览器来代替(见图1-2),一部分事务逻辑在浏览器端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。目前流行的是三层B/S结构,即表现层、事务逻辑层和数据处理层。

图1-2 B/S结构的浏览器端界面

B/S结构很好地解决了C/S结构的上述缺点。因为每台客户端计算机都自带浏览器,就不需要额外安装客户端软件了,也就不存在客户端软件升级的问题了。另外,由于任何操作系统一般都带有浏览器,因此B/S结构对客户端的操作系统也没有要求了。

但是B/S结构与C/S结构相比,也有其自身的缺点,首先因为B/S结构的客户端软件界面就是网页,因此操作界面不可能做得很复杂、漂亮。例如,很难实现树形菜单、选项卡式面板或鼠标右键快捷菜单等(或者虽然能够模拟实现,但是响应速度比C/S中的客户端软件要慢很多)。其次,B/S结构下的每次操作一般都要刷新网页,响应速度明显不如C/S结构。再次,在网页操作界面中,操作大多以鼠标方式为主,无法定义快捷键,也就无法满足快速操作的需求。

提示:C/S结构和B/S结构的网络软件,其程序都是分布在客户机和服务器上,因此它们统称为分布式系统(Distributed System)。

1.1.2 动态网站的组成与运行

1. 动态网站的组成

动态网站通常由HTML文件、服务器端脚本文件和一些资源文件组成。

(1)HTML文件提供静态的网页内容。

(2)脚本文件提供程序,实现客户端与服务器之间的交互,以及访问数据库或文件等。

(3)资源文件提供网站中的图片、视频等资源,包括图片文件、多媒体文件和配置文件等。

2. 运行动态网站程序的要素

要运行动态网站程序,需要Web服务器、浏览器和HTTP通信协议等要素。

(1)Web服务器

运行动态网站需要一个载体,称为Web服务器。一个Web服务器可以部署多个动态网站(或Web应用程序)。

通常Web服务器有两层含义,一方面它代表运行Web应用程序的计算机硬件设备,一台计算机只要安装了操作系统和Web服务器软件,就可算作一台Web服务器。另一方面Web服务器专指一种软件——Web服务器软件,该软件的功能是响应用户通过浏览器提交的HTTP请求,如果用户请求的是PHP脚本,则Web服务器软件将解析并执行PHP脚本,生成HTML格式的文本,并发送到客户端,显示在浏览器中。

版权:人民邮电出版社