一、简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
1.浏览器访问服务器端的html文件:
- 通过DNS服务器解析出相应的Web服务器的IP地址。
- 通过HTTP协议链接上述的服务器系统,请求相应目录下的html文件。
- 服务器接收到请求后,找到并打开相应的html文件,将文件内容响应给客户端浏览器。
- 浏览器收到响应后,接收并下载服务器端的静态html代码,通过解析、渲染,呈现出网页的内容。
2.浏览器访问服务器端的php文件:
- 与访问html静态网页一样,通过DNS服务器解析出相应的Web服务器的IP地址。
- 与请求html静态页面类似,不过最终请求的是php文件。
- 由于Apache服务器本身不能处理php动态语言脚本,所以Apache服务器将用户请求访问的php文件交给PHP应用服务器。
- PHP应用服务器接收php文件,打开并解释php文件,翻译成html静态代码后返回给浏览器。
- 浏览器接收到服务器响应后,接收下载html静态代码,解析,渲染呈现出页面。
3.浏览器访问服务器端的MySQL数据库成分:
- 通过NDS服务器解析出相应的Web服务器的IP地址。
- 与上面访问php文件一样,请求访问Apache服务器相应目录下的php文件。
- 与上面访问php文件一样,PHP应用服务器接受到相应的php文件。
- PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或网络上其他的机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器生成html静态代码返回给服务器,服务器再返回给浏览器。
- 浏览器接受到服务器响应后,接收下载html静态代码,解析、渲染呈现出页面。
二、常见的 WEB 服务器有哪些?
1.Apache:Apache是世界使用第一的Web服务器软件,它机会可以在所有的计算机平台上运行。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
2.IIS:它是微软公司主推的服务器,特点是安全性,强大,灵活。
3.Tomac:由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
4.Zeus:Zeus是运行于Unix下的非常优秀的Web服务器,据说性能超过Apanche,是效率非常高的Web服务器之一。
5.Nginx:Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
6.Lighttpd:是由德国人JanKneschke领导开发的,机遇BSD许可的开源Web服务器软件,其根本目的是提供一个专门针对高性能网站、安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。
三、打开浏览器,在地址栏输入 http://jirengu.com 页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
1.用户在浏览器中输入http://jirengu.com;
2.浏览器通过DNS服务器查找域名对应的IP地址;
3.浏览器通过TCP/IP协议与对应IP地址的nginx服务器建立连接,通过HTTP协议向nginx服务器请求相应资源;
4.nginx服务器收到请求后,在相应目录下寻找对应的php文件,并将对应php文件交由php应用服务器处理;
5.php应用服务器接收php文件并打开,根据php文件内对数据库连接的代码来连接mysql数据库,并根据php文件中的mysql数据库操作代码从mysql数据库中获取数据,再将数据生成html静态代码并交还给nginx服务器;
6.nginx服务器将接受到的html静态代码相应给客户端浏览器;
7.浏览器收到nginx服务器的响应后,接收并下载服务器端的html静态代码,然后对html静态代码进行解析,最后将页面渲染出来。