1.初学者在本地安装 Apache 与 PHP。安装 xampp 套件即可。XAMPP 里面包含 Apache 和 PHP.windows 用户也可安装 WAMP,安装包体积会小一些。对于后端熟悉的同学可单独安装Apache 和 PHP。
安装截图
Paste_Image.png2.学习 xampp或者wamp 的简单配置使用,在本地启动 web 服务器,通过浏览器访问,通过浏览器打开本地 webserver 下的 php 文件,截图展示。
Paste_Image.png3.简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
web服务器:Web服务器是可以向发出请求的浏览器提供文档的程序, Unix和Linux平台下的常用Web服务器有Apache,Nginx,Lighttpd,Tomcat, windows常用IIS。
Paste_Image.png(1)用户端访问服务器端的html文件
S1:通过本机配置的DNS域名服务器地址寻找DNS服务器,通过DNS服务器将浏览器请求的目标网址URL中的Web主机域名解析为Web服务器所在的Linux操作系统中对应的IP地址。
S2:找到目标网址的IP后,通过HTTP协议(超文本传输协议)连接服务器系统,服务器通过默认80端口处理http请求,(默认的端口是80,也有其他端口,输入URL时一般不用输入端口)即请求Apache服务器上相应目录下的html文件(如index.htm)。
S3:Apache服务器收到用户的访问请求后,在它管理的文档目录中找到并打开相应的html文件(如index.htm),将文件内容响应给客户端浏览器(即用户)。
S4:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来(由于不同的浏览器对于代码的解读规则会不一样,所以不同浏览器对于相同的网页呈现的最终页面效果会有所差异)。
(2)用户端访问服务器端的php文件
S1:由本机DNS配置找到DNS服务器,通过DNS服务器解析目标网址对应的Web服务器IP地址。
S2:找到web服务器后,通过http协议连接服务器系统,服务器通过80端口处理请求,(默认)请求Apache服务器上相应目录下的php文件,如index.php。
S3:Apache服务器本身不能处理php动态语言脚本文件,委托PHP应用服务器来处理(服务器端事先得安装PHP应用服务器),Apache服务器将用户请求访问的php文件(如index.php)文件交给PHP应用服务器。
S4:PHP应用服务器接收php文件(如index.php),打开并解释php文件,最终翻译成html静态代码,再将html静态代码交还给Apache服务器,Apache服务器将接收到的html静态代码输出到客户端浏览器(即用户)。
S5:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
(3)用户端访问服务器端的MySQL数据库
如果用户需要对MySQL数据库中的数据进行操作,那么就需要在服务器端安装数据库管理软件MySQL服务器,用来存储和管理网站数据。由于Apache服务器是无法连接和操作MySQL服务器,所以还需要安装php应用服务器,这样Apache服务器就委托php应用服务器去连接和操作数据库。
S1:由本机DNS配置找到DNS服务器,通过DNS服务器解析目标网址对应的Web服务器IP地址。
S2:找到web服务器后,通过http协议连接服务器系统,通过80端口(默认)请求Apache服务器上相应目录下的php文件,如index.php。
S3:Apache服务器本身不能处理php动态语言脚本文件,委托PHP应用服务器来处理(服务器端事先得安装PHP应用服务器),Apache服务器将用户请求访问的php文件(如index.php)文件交给PHP应用服务器。
S4:PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码。
S5:浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
4.常见的 WEB 服务器有哪些?
在UNⅨ和LINUX平台下使用最广泛的免费HTTP服务器是Apache和Nginx服务器,而Windows平台NT/2000/2003使用ⅡS的WEB服务器。在选择使用WEB服务器应考虑的本身特性因素有:性能、安全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等,下面介绍几种常用的WEB服务器。
Microsoft的Web服务器产品为Internet Information Services (IIS),IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。ⅡS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在ⅡS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。
kangle web服务器(简称:kangle)是一款跨平台、功能强大、安全稳定、易操作的高性能web服务器和反向代理服务器软件。除此:kangle也是一款专为做虚拟主机研发的web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。安全支持php、asp、asp·net、java、ruby等多种动态开发语言。
Tomac:由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
Jboss:是一个基于J2EE的开放源代码的应用服务器。 JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用,而不用支付费用。JBoss是一个管理EJB的容器和服务器,支持EJB 1.1、EJB 2.0和EJB3的规范。但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。
5.打开浏览器,在地址栏输入 http://jirengu.com
页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
1.浏览器中输入http://jirengu.com
网址后首先要查找其域名对应的IP地址。
【1】先在浏览器缓存中查找是否有网址映射关系。
【2】如果浏览器缓存中没有,操作系统检查本地hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析。
【3】host文件中没有域名的映射,则查找本地DNS解析器缓存,是否有这个网址映射关系,如果有,直接返回,完成域名解析
【4】如果本地DNS解析器缓存、host文件中都没该域名映射关系,则向本机网络配置中指定的DNS服务器请求地址解析。此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。
【5】如果DNS服务器仍然没有该域名的地址映射,那么就从顶级域名服务器的根域名服务器开始递归查询,到这里就肯定能找到了。
2.浏览器找到jirengu.com域名对应的IP地址后,打包HTTP报文(包含一些服务器需要知道的信息,如请求的方法get/post,cookie等)发送给web服务器(nginx)请求所需要的资源。一般浏览器与服务器之前是通过TCP协议来连接。
3.nginx服务器通过配置的默认监听端口来处理http请求,当服务器收到浏览器端发起的http请求后,会找到nginx服务器管理文档目录下对应的目标文件,将文件内容响应给客户端浏览器(即用户)。
当请求html文件时直接将html文件返回(响应)给浏览器
当请求php文件时,nginx将请求委托给php应用服务器进行php解释,php应用服务器执行php脚本将结果返回nginx服务器,nginx服务器再将最终结果返回(响应)给浏览器。
当请求操作MYSQL数据库时,步骤同上面请求php文件,在php应用服务器执行php脚本并连接目标MYSQL数据库,通过php脚本内嵌的SQL语句操作数据库中的数据,执行完毕后php应用服务器将脚本执行结果返回给nginx服务器,最后nginx服务器将最终结果返回(响应)给浏览器。
4.浏览器收到服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。浏览器的下载顺序和渲染顺序都是从上到下,下载和渲染同时进行。对CSS文件做合并解析。解析html代码,生成DOM树。解析html中的CSS生成CSSOM树,把DOM CSSOM组合成渲染树在渲染树的基础上布局,计算每个节点的几何结构,把每个节点绘制到屏幕上。
网友评论