动手操作
一、初学者在本地安装 Apache 与 PHP,安装 xampp 套件即可;XAMPP 里面包含 Apache 和 PHP.windows 用户也可安装 WAMP,安装包体积会小一些,对于后端熟悉的同学可单独安装Apache 和 PHP
-
安装XMPP及配置
-
服务器安装成功
二、学习 xampp或者wamp 的简单配置使用,在本地启动 web 服务器,通过浏览器访问,通过浏览器打开本地 webserver 下的 php 文件,截图展示
问答部分
一、简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
- 浏览器访问服务端的html文件
- 在浏览器中输入网址,由DNS服务器根据域名解析出其相应的IP地址
- 通过HTTP协议连接上面IP地址的服务器,浏览器访问服务器上的html文件
- 服务器收到用户的访问请求后,在它管理的文档目录中找到并打开相应的html文件,将文件内容响应给浏览器
- 浏览器收到html文件后,浏览器解析代码,并呈现给用户
- 浏览器访问服务端的php文件
- 在浏览器中输入网址,由DNS服务器根据域名解析出其相应的IP地址
- 与上面html文件类似,浏览器访问服务器上的php文件
- 服务器收到访问请求后,启动php应用服务器,并将用户请求的php文件交给php应用服务器处理
- php应用服务器接收php文件,打开并解释php文件,最终翻译成html静态代码,再将html静态代码交还给服务器,服务器再将接收到的html静态代码输出到浏览器
- 浏览器在收到服务器响应后,接收并下载服务器端的html静态密码,浏览器解析代码并呈现给用户
- 浏览器访问服务端的MySQL数据库
- 在浏览器中输入网址,由DNS服务器根据域名解析出其相应的IP地址
- 与上面访问php文件一样,请求访问Apache服务器上相应目录下的php文件
- 与上面访问php文件一样,php应用服务器接收服务器的委托,收到相应的php文件
- php应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码
- 浏览器收到服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码并将网页呈现出来
二、常见的 WEB 服务器有哪些?
- Apache:它是世界使用排名第一的Web服务器软件,可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一;其具有简单、速度快、性能稳定的特点
- Nginx:它是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器;其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名
- Lighttpd:它是一个德国人领导的开源Web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的web server环境。具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点
- IIS:它是由微软公司提供的基于运行Microsoft Windows的互联网基本服务
- Tomcat:它是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选;具有技术先进、性能稳定,而且免费的特点
三、打开浏览器,在地址栏输入 http://jirengu.com
页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
- 用户输入饥人谷网址
http://jirengu.com
- 浏览器通过域名来查找其IP地址,在此过程中:
- 首先查看浏览器的缓存
- 若没有,则查看系统缓存
- 若没有,则查看路由器缓存
- 若没有,则查看ISP服务商中的DNS缓存中查找
- 若还是没有,则将从顶级域名服务器的根服务器开始递归查询
- 浏览器得到IP地址打包http报文并发送服务器请求其所需要的资源;浏览器与服务器通过TCP/IP协议(三次握手等)来连接
- web服务器接收到请求后,根据不同的请求,采取不同的方法响应。如果是HTML请求,则服务器查找HTML文件返回给浏览器;如果是php文件则先启用php应用服务器并将找到的php文件翻译成静态HTML返回给浏览器;如果有数据库的请求,则php应用服务器通过PHP中连接MySQL数据库的代码,连接数据库并通过标准的SQL查询语句获取数据,然后将其生成为HTML静态代码返回给浏览器
- 浏览器收到服务器响应后,开始下载代码(下载与渲染顺序由上到下,下载与渲染同时进行),之后解析HTML代码,构建DOM树,开始渲染页面
版权声明:本教程版权归邓攀和饥人谷所有,转载须说明来源!!!!