1.简单描述下web服务器、PHP、数据库、浏览器是如何实现动态网站的?
- 访问服务器端的html文件
(1)通过本机配置好的DNS域名服务地址寻找DNS服务器,DNS将域名解析为对应的IP地址;
(2)通过HTTP协议连接服务器系统,并通过默认端口找到服务器相应目录下的html文件;
(3)服务器接受到用户的访问请求后,找到并打开相应的html文件,将文件内容发送给用户(浏览器);
(4)浏览器接收到响应之后,接受并下载服务器端的html文件,浏览器解读文件,最终将网页呈现出来。 - 访问服务器端的php文件
(1)通过DNS服务器解析出相应的web服务器的IP地址;
(2)请求Apache服务器上相应目录下的php文件;
(3)Apache服务器本身不能处理php动态语言脚本文件,并委托php应用服务器来处理;
(4)php服务器将接收到的php文件解析成html静态代码并交给Apache服务器,Apache服务器将接收到的文件传递给用户;
(5)浏览器接收并下载服务器端的html文件,对代码进行解读,最后将页面呈现出来。 - 访问服务器端的MySQL数据库
(1)同上面的步骤一样,通过DNS服务器解析出相应的Web服务器的IP地址;
(2)请求访问服务器相应目录下的php文件;
(3)PHP应用服务器接收Apache服务器的委托,收到相应的的php文件;
(4)php应用服务器在PHP文件中通过对数据库连接的代码来连接MySQL数据库,并在php程序中通过SQL语句获取数据,通过PHP应用服务器将数据生成html代码;
(5)浏览器接收并下载服务器端的html文件,对代码进行解读,最后将页面呈现出来。
2.常见的 WEB 服务器有哪些?
- Apache是世界使用排名第一的web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。它源于NCSAhttpd服务器,特点是简单、速度快、性能稳定,并可做代理服务器使用;
- IIS是英文名Internet Information Server的缩写,是微软公司主推的服务器;
- Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
- Lighttpt是基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。Lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。
- Zeus是一个运行于Unix下的非常优秀的Web Server,据说性能超过Apache,是效率最高的Web Server之一。
- Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。特定是 技术先进、性能稳定,而且免费。
3.打开浏览器,在地址栏输入 http://jirengu.com
页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
- 输入http://jirengu.com 页面时,浏览器会解析域名,通过域名解析出对应服务器的IP地址;
- 浏览器会将用户输入的请求信息打包发送给nginx服务器;
- 服务器会分析用户的请求寻找对应文件;
- 如果请求文件包含有php文件,nginx服务器为寻找能处理的php处理服务器,在处理php文件时链接数据库,最后生成html静态代码;
- 最后浏览器收到nginx服务器的响应后,接受并下载html静态代码,最后又浏览器解释并最终呈现给用户
版权归本人所有,若有转载,请注明来源