1.简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
-
用户端访问服务器端的html文件
1.通过本机配置好的DNS域名服务器地址寻找DNS服务器,将网站URL中的Web主机域名解析为Web服务器所在的Linux操作系统中对应的IP地址。
2.通过HTTP协议去连接上述IP地址的服务器系统,通过默认80端口请求Apache服务器上相应目录下的html文件(如index.htm)。
3.Apache服务器收到用户的访问请求后,在它管理的文档目录中找到并打开相应的html文件(如index.htm),将文件内容响应给客户端浏览器(即用户)。
4.浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。 -
用户端访问服务器端的php文件
1.该步与上面访问html静态网页是一样的,通过DNS服务器解析出相应的Web服务器的IP地址。
2.与上面访问html静态页面相似,不过最后请求的是Apache服务器上相应目录下的php文件,如index.php。
3.Apache服务器本身不能处理php动态语言脚本文件,就寻找并委托PHP应用服务器来处理,Apache服务器将用户请求访问的php文件(如index.php)文件交给PHP应用服务器。
4.PHP应用服务器接收php文件(如index.php),打开并解释php文件,最终翻译成html静态代码,再将html静态代码交还给Apache服务器,Apache服务器将接收到的html静态代码输出到用户。
5.与上面访问html静态页面相同,浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。 -
用户端访问服务器端的MySQL数据库
1.与上面访问php文件一样,通过DNS服务器解析出相应的Web服务器的IP地址。
2.与上面访问php文件一样,请求访问Apache服务器上相应目录下的php文件。
3.与上面访问php文件一样,PHP应用服务器接收Apache服务器的委托,收到相应的php文件。
4.PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码。
5.浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
2.常见的 WEB 服务器有哪些?
- Apache
- Nginx
- Lighttpd
- Tomcat
- IIS
3.打开浏览器,在地址栏输入http://jirengu.com页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
(1)输入饥人谷的域名后,本机的DNS域名服务器会连接到DNS服务器,然后通过域名解析出对应服务器的IP地址;
(2)通过HTTP协议去连接上述IP地址的服务器系统,通过默认80端口请求nginx服务器上相应目录下的html文件(默认首页index.html);
(3)服务器接收HTTP请求,nginx会做相应的处理,再把相应的内容响应给浏览器,浏览器并会接收,下载,解析,最后将渲染的页面展示给用户。
(4)如果首页是index.php,会调用相应的php应用服务器,把nginx服务器找到的index.php文件交给php应用服务器处理,再通过php应用服务器解析成html文件后交给nginx服务器;
(5)nginx服务器解析好的内容响应给浏览器;
(6)浏览器接收HTTP响应,并下载,再解析,最后将渲染完成的页面展示给用户。
动手
安装XAMPP
通过浏览器打开本地 webserver 下的 php 文件