简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
S1:通过DNS服务器将URL中的域名解析出相应的Web服务器的IP地址。
S2:通过HTTP协议连接上述IP地址的服务器,请求访问服务器上相应目录下的html或php文件。
S3:Apache服务器本身不能处理php动态语言脚本文件,就寻找并委托PHP应用服务器来处理,Apache服务器将用户请求访问的php文件交给PHP应用服务器。
S4:PHP应用服务器通过php文件中对数据库连接的代码来连接MySQL数据库,获取数据库中的数据,并将数据生成html静态代码。
S5:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
常见的 WEB 服务器有哪些?
常见的 WEB 服务器有:Apache,Nginx,IIS,Lighttpd,Tomcat
- Apache是世界使用排名第一的Web服务器软件,几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。特点是简单、速度快、性能稳定,并可做代理服务器来使用。
- Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
- IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。
- Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,Alias等重要功能。
- Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
参考文章
打开浏览器,在地址栏输入http://xxx.com
呈现对应页面,整个过程发生了什么?
S1:通过DNS服务器解析出域名 xxx.com
相应的服务器(如:nginx)的IP地址。
S2:通过HTTP协议连接上述IP地址的服务器,请求访问nginx服务器上相应资源。
S3:nginx服务器寻找并委托PHP应用服务器来处理php动态语言脚本文件(假设后台语言是PHP)
S4:PHP应用服务器连接百度的数据库(如:MySQL),获取数据库中的数据,并将数据生成html静态代码。
S5:浏览器收到nginx服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。