熟悉后端语言
2016-08-08 本文已影响47人
StarLikeRain
问题
简单描述下web 服务器、PHP、数据库、浏览器是如何实现动态网站的?
- WEB服务器:
浏览器通过输入的域名通过本机的地址寻找到DNS里面所对应的目标域名对应的IP地址,解析主要是通过DNS服务器获取结果,结果可以被本地缓存保留下来,减少过多的访问次数。
浏览器根据获得的IP地址向服务器发起连接请求HTTP,索取资源。
服务器收到http请求,根据hppt地址找到对应的目录,然后将对应的http内容返回发给用户的浏览器。
浏览器收到http响应,下载资源,通过解析、渲染,呈现出直观的页面内容。 - PHP:
这和访问静态的HTML页面类似,通过DNS解析出远程服务器的IP地址。
发出请求获取Apache服务器对应目录下面的PHP文件。
Apache服务器将用户想访问的php文件给php应用服务器处理。
php应用服务器接手php文件,将php转换成html的静态代码,再将静态代码返发给Apache服务器,Apache再发给用户浏览器。
浏览器收到文件、渲染。 - 数据库
服务器得有一个数据库服务器,比如MySQL,才可以存储数据 - 浏览器:
获得资源,解析资源,从上往下的顺序渲染DOM树,把直观的页面展现给用户,并响应用户的后续请求。
常见的 WEB 服务器有哪些?
打开浏览器,在地址栏输入 http://jirengu.com 页面展现的信息,整个过程发生了什么?(后台语言 php,web服务器 nginx,数据库 mysql)
- 流程:
在浏览器中输入URL为 http://jirengu.com ,第一次访问的时候直接向DNS获取这个URL对应的IP地址,通过这个唯一的IP地址,在internet上寻找到对应的服务器nginx。
找到web服务器后通过某种协议(可能是TCP)和服务器nginx构建连接。
客户端打包好http请求,并发给服务器。
服务器nginx根据用户的http请求返回内容给用户ip浏览器。
浏览器再对内容解析,呈现直观页面。