本教程版权归小圆和饥人谷所有,转载须说明来源
动手
1. 安装xampp
2. 通过浏览器访问php文件
问题
1. 简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
- 当用户端访问web时,DNS域名服务器解析为对应的IP地址;
- 通过HTTP协议去连接IP地址的服务器系统,请求Apache服务器;
- 处理html文件时,Apache服务器在它管理的文档目录中找到并打开相应的html文件,响应给客户端浏览器;由于Apache服务器本身不能处理php动态语言脚本文件,所以处理php文件时,Apache服务器将php文件交给PHP应用服务器翻译成html静态代码,再由Apache服务器将html静态代码输出到客户端浏览器;处理数据库时,Apache服务器使用PHP应用服务器打开php文件,通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码输出到客户端浏览器。
- 浏览器接收并下载服务器端的html静态代码,解读代码并将网页呈现出来。
2. 常见的 WEB 服务器有哪些?
windows下的IIS,linux下的Apache,还有nginx,Lighttpd,Zeus等等。
3. 打开浏览器,在地址栏输入 http://jirengu.com 页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
当我们输入http://jirengu.com,浏览器会解析这个url分成三部分,域名:jirengu.com,端口:默认为80,请求资源:默认为index.html和index.php。
- 用户在浏览器中输入http://jirengu.com;
- 浏览器通过DNS服务器查找域名对应的IP地址;
- 浏览器通过TCP/IP协议与对应IP地址的nginx服务器建立连接,通过HTTP协议向nginx服务器请求相应资源;
- nginx服务器收到请求后,在相应目录下寻找对应的php文件,并将对应php文件交由php应用服务器处理;
- php应用服务器接收php文件并打开,根据php文件内对数据库连接的代码来连接mysql数据库,并根据php文件中的mysql数据库操作代码从mysql数据库中获取数据,再将数据生成html静态代码并交还给nginx服务器;
- nginx服务器将接受到的html静态代码相应给客户端浏览器;
- 浏览器收到nginx服务器的响应后,接收并下载服务器端的html静态代码,然后对html静态代码进行解析,最后将页面渲染出来。