• 发送请求:浏览器根据用户输入的域名,运用DNS缓存或请求本地DNS服务器解析等获得对应IP地址,使用HTTP协议发送请求报文(含请求内容、浏览器信息、本地缓存、cookie等)
  • 返回数据:web服务器接收到请求,会去寻找对应文件,找到后会反馈给浏览器说请求的内容已经找到。
    • html文件:web服务器在自己目录下寻找,找到后会直接反馈给浏览器;
    • PHP文件:web服务器会现在自己目录下找PHP文件,找到后它会发给PHP服务器帮忙解析,PHP服务器会将PHP文件翻译成html代码返回给web服务器;
      • 数据操作:如果请求中涉及到数据库的操作的话,同样,web服务器将PHP文件发给PHP服务器,PHP服务器对文件中需要数据库信息的部分请求MySQL数据库提供对应数据,之后PHP服务器再将反馈的数据翻译成html代码发送给web服务器。
  • 渲染呈现:浏览器根据web服务器的反馈,下载数据,进行解析渲染,并将最终页面呈现给用户。(特别地:虚拟主机或云服务器(均具有独立区间大小和IP地址,相当于本地主机)实际上就是各种服务器如php服务器,web服务器,mysql服务器等组合而成的,其又称虚拟服务器。) 1:web服务器可以包含应用程序服务器,如点击某个网页,跳到一个网页应用程序上。在虚拟主机中其对应web或root文件夹。 2:mysql服务器要在相应软件进行创建数据库和数据表并且管理如:phpMyadmin.  3:在本地电脑要先安装如下3个服务器并在使用时或外界访问时开启,ip:服务器口--相当于访问该主机的服务器(对应某网站(虚拟主机)的主页) 。。4:根据http://你的域名/admin.php可知,其实管理网站内容系统的phpcms等软件其实是一个存放在web服务器内的应用程序服务器,其模板发生变化时,web服务器所对应的文件内容和所关联的数据库(index.php,index,html)均发生改变。5:phpMyadmin上传后,输入网址/phpMyAdmin目录名/
  • 0_1461902623997_用户 服务器.png

常见的 WEB 服务器

  • Apache服务器:A pache(哈哈 一个补丁 我乍一听还以为是直升机)使用广泛,开放源代码,支持多个平台,相比其他服务器占的内存较大,是重量级产品。
  • Microsoft IIS 服务器:微软的,包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,要使用它需要购买对应的商业window server操作系统。
  • Nginx服务器:(发音同engine x)俄罗斯的一个站点开发的,相比于Apache服务器,Nginx占用内存小且较稳定。
  • Tomcat服务器:(哈哈 汤姆猫服务器)也是开放源代码的,运行servlet和JSP Web应用软件基于Java,比绝大多数的商业用的软件服务器要好。

    0_1461902581006_upload-a22468fe-6f25-47a4-95d4-943af7da69f3

打开浏览器,在地址栏输入url 到页面展现,整个过程发生了什么?

    • 用户输入网址:用户输入网址,包含协议和域名
    • 浏览器获得IP地址:浏览器先找自身缓存看是否有记录,没有的话再找操作系统缓存,再没有就请求本地DNS服务器帮忙,本地DNS再找不到再一层层往上;最终,浏览器获得了对应的IP地址。
    • 浏览器发送请求:浏览器根据HTTP协议,给对应IP地址的主机发送请求报文,默认端口为80,报文含请求内容、浏览器信息、本地缓存、cookie等等信息。
    • web服务器接收请求、寻找文件:Nginx服务器接收到请求,在自己目录下开始寻找对应php文件
    • PHP服务器翻译php文件:找到后将文件发给PHP服务器,PHP服务器打开php文件进行翻译,如果碰到需要数据库对应数据的部分,PHP服务器就用标准的SQL查询语句来获取数据库中的数据。
    • MySQL数据库提供数据:接收PHP服务器指令,会反馈对应数据给PHP服务器。
    • PHP服务器完成翻译发给web服务器:PHP服务器将php文件翻译生成静态html代码,并发送给web服务器。
    • web服务器接收并通知浏览器:web服务器接收PHP服务器的html代码,并反馈给浏览器让浏览器开始下载。
    • 浏览器下载:浏览器收到web服务器通知,开始下载请求的所有资源。
    • 浏览器解析渲染:浏览器边下载边解析,并开始生成html树和css树,组合二者并开始渲染页面。
    • 浏览器呈现页面:页面渲染完成,浏览器将饥人谷官网绘制出呈现给用户。

web 服务器、PHP、数据库、浏览器是如何实现动态网站的的更多相关文章

  1. Web服务器与数据库服务器分离 导入 Excel数据至数据库

    一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成.web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间.本案例为两台服务器,具 ...

  2. 理解web服务器和数据库的负载均衡以及反向代理

    这里的“负载均衡”是指在网站建设中应该考虑的“负载均衡”.假设我们要搭建一个网站:aaa.me,我们使用的web服务器每秒能处理100条请求,而aaa.me这个网站最火的时候也只是每秒99条请求,那么 ...

  3. 使用SecureCRTP 连接生产环境的web服务器和数据库服务器

    一.使用SecureCRTP 连接生产环境的web服务器 首先,需要知道以下参数信息: 1.web服务器的ip地址     2.服务器的端口号    3.会话连接的用户名和密码   4.服务器的用户名 ...

  4. web服务器和数据库服务器分离的优势

    一般我们服务器都是分开的,网页服务器.数据服务器单独配置. web服务器不掉,那么就可以正常使用,data服务器掉了,那么web还可以坚持一会. 如果是web服务器掉了,那么就上不去了,不过有一些设置 ...

  5. web服务器和数据库服务器不在一台机器上

    把localhost改成数据库所在的IP就行了. $link=mysql_connect( "202.195.246.202 ", "root ", " ...

  6. ASP.NET CORE Web浏览器和Web服务器

    //web浏览器 //浏览器本质的原理:浏览器向服务器发请求,服务器把请求的内容返回给浏览器,然后浏览器把返回的内容绘制成一个图形化的界面 //Socket一种通讯交流的技术 //qq用户把信息通过s ...

  7. C#中使用Socket实现简单Web服务器

    上一篇博客中介绍了怎样使用socket访问web服务器.关键有两个: 熟悉Socket编程: 熟悉HTTP协议. 上一篇主要是通过socket来模拟浏览器向(任何)Web服务器发送(HTTP)请求,重 ...

  8. 转(Delphi 新窑洞):使用delphi 开发多层应用(十七)使用RTC web 服务器返回JSON

    RTC作为delphi 的最专业的web 应用服务器,如果客户端要使用JSON 的话,那么使用RTC 应该也是一种 非常好的选择.下面我们做一个使用RTC web 服务器返回数据库JSON 的例子. ...

  9. ubuntu 12.04 安装 nginx+php+mysql web服务器

    Nginx 是一个轻量级,以占用系统资源少,运行效率而成为web服务器的后起之秀,国内现在很多大型网站都以使用nginx,包括腾讯.新浪等大型信息网站,还有淘宝网站使用的是nginx二次开发的web服 ...

随机推荐

  1. JDK动态代理[1]----代理模式实现方式的概要介绍

    日常工作中经常会接触到代理模式,但一直没有对其进行深究.代理模式一直就像一团迷雾一样存在我心里,什么是代理模式?为什么要使用代理?代理模式有哪些实现?它的底层机制是怎样的?这些问题促使着我迫切想要揭开 ...

  2. 在win7下用net命令无法实现对用户的创建(未完成)

    ============================================================================================= 201307 ...

  3. sql查询化繁为简 告别rs.getString("XX"),bean属性赋值setXX("XX")

    一.在执行sql语句查询时候,查询的结果是set的map集合(ResultSet): 结果使用rs.getString("XX")获得对应属性的值,赋值到bean对象的相应的属性中 ...

  4. swiper轮播问题之一:轮播图内容为动态数据生成时轮播图无法自动轮播

    本人在用H5做移动端项目中使用Swiper遇到的两个问题,因此加深了对Swiper的掌握,分享出来对刚开始接触Swiper的童鞋们或多或少会有帮助.        首先,new Swiper的初始化最 ...

  5. Linux学习笔记整理

    2.1BASH命令行基本操作 [用户@主机~]$ # //$#为提示符 $代表普通用户 #代表root用户 ~代表当前目录 ls   //list相当于DOS的dir 显示当前目录列表 -a   // ...

  6. CSS3 radial-gradient 径向渐变属性 实现重复半圆角内边框

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA8gAAADiCAIAAAAd73mYAAAG+ElEQVR4nO3dQQrkNhCG0TntHGGu4U ...

  7. asp.net mvc 防止重复提交

    string hiddenToken = "hiddenToken"; public void OnActionExecuting(ActionExecutingContext f ...

  8. redux入门指南

    前言:大概一个月没有写博客了,这两天正好是周末,就写点东西来梳理下之前几个月的所写与所得; 大概两个月前,学习了一下 redux ,还是一点难度的,花了我一天的时间来搞明白他, 但是都没怎么记录,今天 ...

  9. web服务器,应用程序服务器,http服务器的区别

    WEB服务器.应用程序服务器.HTTP服务器有何区别?IIS.Apache.Tomcat.Weblogic.WebSphere都各属于哪种服务器? 这个概念很重要. Web服务器的基本功能就是提供We ...

  10. web前端经典面试题大全及答案

    阅读目录 JavaScript部分 JQurey部分 HTML/CSS部分 正则表达式 开发及性能优化部分 本篇收录了一些面试中经常会遇到的经典面试题以及自己面试过程中遇到的一些问题,并且都给出了我在 ...