• 发送请求:浏览器根据用户输入的域名,运用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树,组合二者并开始渲染页面。
    • 浏览器呈现页面:页面渲染完成,浏览器将饥人谷官网绘制出呈现给用户。

最新文章

  1. [Unity3D]引擎学习之注意事项(持续更新中)
  2. Framework4.5语法糖 异步Task
  3. P,NP,NPC,NPC-HARD
  4. fzuoj Problem 2177 ytaaa
  5. mybatis的知识点总结
  6. csu 10月 月赛 H 题 A Very Hard Problem
  7. hello,world不使用ARC
  8. Unity NGUI中动态添加和删除sprite
  9. WMvare桥接模式固定IP
  10. 如何使用IntelliJ IDEA的Favorites来管理项目中的常用代码
  11. jQuery的get()post()getJson()方法
  12. Android的oom详解
  13. 在线OJ使用总结(acm)
  14. bzoj4710 [Jsoi2011]分特产(容斥)
  15. Node - centOS配置环境
  16. Collection类,泛型
  17. Mac上安装mysql-mython错误:mysql_config not found
  18. fastreport报表中出现十字线
  19. Linux学习笔记之Linux 让进程在后台可靠运行的几种方法
  20. 测试char,varchar存储

热门文章

  1. 西门子flexable创建画面
  2. UVA 11825 Hackers' Crackdown
  3. String源码图
  4. 分享非常好用的前端分页js工具类 灵活 简单易懂
  5. powerdesigner的使用
  6. Mac Sublime text3 如何设置更加漂亮好用?
  7. 使用alembic进行数据库版本管理
  8. 《UNIX环境高级编程》第七章进程环境
  9. TPYBoard实例之利用WHID为隔离主机建立隐秘通道
  10. Html5 移动端 触摸滑动事件