任务23 熟悉后端语言

任务23 熟悉后端语言_第1张图片
Paste_Image.png

问答题:
简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?

  1. 客户端(浏览器)根据用户输入的URL,寻找DNS服务器将其解析为对应的Web服务器的IP地址,返回给浏览器;
  2. 浏览器打包Http请求,通过TCP协议连接前一步返回的IP所对应的Web服务器,通过默认的80端口请求Web服务器上相应目录下的动态语言文件(如index.php);
  3. Web服务器将用户请求的php文件交给php应用服务器处理(Web服务器本身不能处理php动态语言文件);
  4. php应用服务器接收、打开并解释php文件,在php文件中通过对数据库的连接代码连接本机或其他机器上的MySQL数据库,在php中执行SQL查询语句获得数据,php应用服务器将获得的数据生成html静态代码;
  5. php应用服务器将生成的html静态代码返回Web服务器,Web服务器通过TCP协议将html静态代码传给浏览器;
  6. 浏览器解析接收到的代码,开始渲染页面并呈献给用户。

常见的 WEB 服务器有哪些?

  1. IIS IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。

  2. Tomcat Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。

  3. Zeus Zeus是一个运行于Unix下的非常优秀的Web服务器,据说性能超过Apache,是效率最高的Web服务器之一。

  4. Nginx Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。

  5. Apache Apache是世界使用排名第一的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。

  6. Lighttpd Lighttpd是由德国人JanKneschke领导开发的,基于BSD许可的开源WEB服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性好并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能好,以及丰富的模块等特点。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,Alias等重要功能。

打开浏览器,在地址栏输入 http://jirengu.com页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据mysql)

  1. 通过DNS将该地址解析成IP地址,从浏览器缓存、系统缓存、路由器缓存、ISP DNS缓存、顶级域名服务器的根域名服务器递归搜索,如此这般逐级向上,直到找到对应的IP地址
  2. 如果地址不包括端口号,根据协议的默认端口号确定一个,http的默认端口为80,根据http协议要求,组织一个请求的数据包,里面包含请求的资源路径,身份,通过确定的IP和端口号创建TCP连接nginx服务器根据请求作出响应,
  3. 请求PHP文件,委托PHP应用服务器处理,PHP服务器接收PHP文件,打开并解释,同时通过PHP应用服务器去链接和操作数据库,翻译成HTML静态代码,最后将代码交还nginx服务器,nginx服务器将全部数据打包传回浏览器,浏览器收到服务器响应后,接收并下载服务器端的html静态代码:
  4. 解析HTML标签,构建DOM树;解析CSS标签,构建CSSOM树;把DOM和CSSOM组合成渲染树;在渲染树的基础上进行布局,计算每个节点的几何结构;把每个节点绘制到屏幕上

你可能感兴趣的:(任务23 熟悉后端语言)