wamp---网站建设原理知识

  
  
1.简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
文章出处:
https://www.jianshu.com/p/8da3e2dae61f
实现动态网站过程.png
  1. (客户输入URL,DNS解析URL得出IP地址,根据IP地址找出对应服务器) 用户在客户端(即是浏览器)的地址栏输入目的资源的URL(统一资源定位符),然后客户机会根据给出URL通过DNS解析器解析成IP地址,然后客户机根据IP地址寻找对应的服务器。
  2. (客户机通过TCP/IP协议建立到web服务器的TCP链接)
  3. (客户机向web服务器发送HTTP请求报文,请求服务器里资源的资源文档)
  4. (web服务器接收到客户机的HTTP请求报文,然后向客户机发出HTTP响应报文)

(1). 如果请求的是HTML文档,web服务器会将对应目录下相应的HTML文档打开,然后将文档的响应内容发送给客户机。 (2).如果请求的是PHP文件,那么web服务器自身是不能处理PHP动态语言脚本文件的,然后就会寻找并委托php应用服务器,php应用服务器会将web服务器请求的php文件解析成HTML静态代码,然后将HTML静态代码发送给web服务器,最后web服务器会将HTML静态代码发送客户机。 (3).如果请求的资源是访问数据库,则web服务器会通过php应用服务器去访问数据库。 详细:php应用服务器打开php文件,然后在php通过对数据库链接的代码来链接本机或者其他机器上的数据库,然后同标准SQL标准语言去处理和访问数据库,然后通过php应用服务器将php文件解析成静态HTML代码,最后发送给客户机。

  1. (客户机解析HTML静态文档) 客户机在浏览器上解析HTML文档,并在屏幕上渲染画面结果,最终实现页面在客户机的呈现。
  2. (客户机与服务器断开链接) 客户机与web服务器断开链接,web服务器等待下次请求。
2.常见的 WEB 服务器有哪些?

<li>Apache服务器 Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源代码的网页服务器软件,可以在大多数电脑操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器软件之一。它快速可靠,并且可以通过简单API扩充,将Python/Perl等解析器编译到服务器中。

<li>Nginx服务器 Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP, HTTPS, SMTP, POP3, IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。

特点: Nginx是一款面向性能设计的HTTP服务器,相较于Apachelighttpd具有占有内存少,稳定性高等优势。与旧版本(<=2.2)的Apache不同,nginx不采用每客户机一线程的设计模型,而是充分使用异步逻辑,削减了上下文调度开销,所以并发服务能力更强。整体采用模块化设计,有丰富的模块库和第三方模块库,配置灵活。 在Linux操作系统下,nginx使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。

<li>IIS服务器 IIS是Internet Information Server的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活

<li>Lighttpd服务器 Lighttpd是一个德国人领导的开源Web服务器软件,具有非常低的内存开销、cpu占用率低、效能好以及丰富的模块等特点。Lighttpd是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI,CGI,Auth,输出压缩(output compress),URL重写,Alias等重要功能。

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

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

<li>浏览器地址栏输入URL,然后DNS解析器会将URL解析成所访问的nginx服务器的IP地址,然后浏览器通过IP地址在Internet上找到对应的nginx服务器。

输入URL.png
IP地址,80接口.png
  1. 然后客户端会打包HTTP请求

  2. 客户机通过TCP/IP协议建立到服务器的链接。

  3. 建立链接链接之后,客户机向nginx服务器发送HTTP请求报文,请求资源。 根据chrome浏览器控制台的反馈信息,客户机想nginx服务器请求的饥人谷网站资源文档数为32个,其中包括(gif,图片,文字,HTML文档,PHP文件,CSS文档,JS文档等等)

请求资源.png

4 nginx服务器向客户机发送HTTP协议响应报文: nginx服务器会根据响应报文内不同资源类型会做出不同的处理。

(1)如果是HTML文档,nginx服务器会将相应的HTML文档找到并打开,然后将文件发送给客户机。 (2)如果是PHP文档,nginx服务器是无法解析PHP文档,它会借助PHP应用服务器去将PHP文档解析成静态的HTML代码,然后将HTML代码发送给nginx服务器,最后nginx服务器将HTML文档打开发送给客户机。 (3)对于例如注册或登录等表单提交操作,涉及前后端的数据交换,则会访问mysql数据库,那么nginx服务通过php应用服务器对php文件的处理,间接操作数据库,从而最终生成一个包含数据库信息的html静态代码(同样,这里的静态代码是和前面的html文档有关联的组成部分而不是两个页面)

5.** 客户机浏览器加载解析文档,然后渲染文档。** 由客户端解释HTML文档,在客户端屏幕上渲染图形结果,最终实现网页在客户端的呈现

饥人谷页面.png

6 客户机与服务器断开链接,服务器等待下次请求。

实战

1.基于xampp搭建Web服务器和完成相关配置

<li>xampp的安装和环境搭建

安装好xampp后,启动Web服务器和数据库服务器,但是默认端口已被占用,所以修改端口号

Apache.png

<li>通过浏览器访问Web服务器上的php文件

Web服务器的根目录在htdocs文件夹,所以根据文件路径访问php2.php

Apache服务器使用.png

版权归饥人谷peter和饥人谷所有,若有转载,请注明来源

感谢瓜子观众:

作者:Sheldon_Yee 链接:https://www.jianshu.com/p/8da3e2dae61f 來源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值