页面的运作原理

简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
  • 首先在浏览器中输入域名
  • 浏览器通过DNS查找域名的IP地址,优先通过缓存查找,然后是递归查询
  • 浏览器给web服务器发送一个HTTP请求、包含服务器需要的信息(get/post、域名、cookie)
  • 通过TCP协议浏览器与服务器产生联系(三次握手)
  • Web服务器将用户请求的php文件交给php应用服务器处理(Web服务器本身不能处理php动态语言文件);
  • php应用服务器接收、打开并解释php文件,在php文件中通过对数据库的连接代码连接本机或其他机器上的MySQL数据库,在php中执行SQL查询语句获得数据,php应用服务器将获得的数据生成html静态代码;
  • php应用服务器将生成的html静态代码返回Web服务器,Web服务器通过TCP协议将html
    静态代码传给浏览器;
  • 浏览器解析接收到的代码,开始渲染页面并呈献给用户。

页面运作流程
TCP的三次握手与四次分手
动态网站的访问过程

2.常见的 WEB 服务器有哪些?

目前最主流的三个Web服务器是

  • Apache
    Apache是世界使用排名第一的Web服务器软件。它几乎可以运行在所有的计算机平台上。由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
  • Nginx
    Nginx不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Mongrel进程可以极大提高Rails应用的并发能力。
  • IIS
    IIS(Internet信息服务)英文InternetInformationServer的缩写。它是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活。
3.打开浏览器,在地址栏输入 http://jirengu.com 页面展现了饥人谷官网的信息,整个过程发生了什么?(饥人谷官网后台语言 php,web服务器 nginx,数据库 mysql)
  • 通过DNS服务器将域名转换成对应的IP地址
  • 浏览器与服务器之间根据TCP协议构成连接
  • 请求访问Nginx服务器上相应目录下的php文件。
  • Nginx服务器本身不能处理php动态语言脚本文件,就寻找并委托PHP应用服务器来处理
  • PHP应用服务器打开php文件,在php文件中通过对数据库连接的代码来连接本机或者网络上其他机器上的MySQL数据库,并在php程序中通过执行标准的SQL查询语句来获取数据库中的数据,再通过PHP应用服务器将数据生成html静态代码,然后传递给Nginx服务器
  • 浏览器收到Web服务器的响应后,接收并下载服务器端的html静态代码,然后浏览器解读代码,最终将网页呈现出来。
  • 浏览器拿到请求,进行页面渲染
    • DOM树,CSS树,JavaScript

参考
创建服务器


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,810评论 19 139
  • 第一章 Nginx简介 Nginx是什么 没有听过Nginx?那么一定听过它的“同行”Apache吧!Ngi...
    JokerW阅读 32,898评论 24 1,002
  • 01 有一天,朋友娟儿在微信上找到我来诉苦。 她准备考研,几乎每天都在为了这个目标而努力。图书馆八点开门,但她在五...
    王小青QING阅读 33,545评论 19 51
  • #!/bin/bash username=mysqlbackup password=mysqlbackup dat...
    今生缘来世孽阅读 2,713评论 0 1
  • 【说些题外话,我曾在写小N故事时,有人以为我要写美术馆所有人。 我叹了口气。 后来,我做了些尝试,但是,很不成功。...
    柳汀雪阅读 3,056评论 0 2

友情链接更多精彩内容