如何访问网站
Step0 解析URL
用户(客户端浏览器)
将url解析成三部分:协议 ,域名,路径。Step1 定位主机
DNS(Domain Name System)
将域名解析为IP地址(主机在操作系统中的定位)
解析过程:浏览器缓存–>系统缓存–>路由器缓存–>ISP DNS缓存–>递归搜索Step2 打包请求
通过HTTP协议将http报文打包成请求Step3 创立连接
通过TCP协议去连接IP地址对应的服务器
Step4 发送请求
通过默认端口80
向远程服务器发送请求-
Step5 处理请求
-
HTML文件
Apache服务器在它管理的文档目录中找到并打开相应的HTML文件
==》
客户端浏览器 -
PHP文件
Apache服务器无法处理php动态语言脚本文件
==》
PHP应用服务器接受PHP文件,打开并解析,翻译成HTML静态代码
==》
Apache服务器 ==》
客户端浏览器 -
MySQL数据库
Apache服务器 ==》
PHP应用服务器打开PHP文件
==》
通过PHP文件中的连接代码
连接MySQL数据库 ==》
通过PHP程序执行标准的SQL查询语句
获取数据库中的数据 ==》
PHP应用服务器将数据生成HTML静态代码
==》
Apache服务器 ==》
客户端浏览器
-
HTML文件
Step5 处理响应
浏览器收到响应,接收并下载服务器端的html静态代码
渲染网页
渲染过程:解析html生成DOM树
,解析css生成CSS树
–>合并成为渲染树
–>解析js并执行
常见wed服务器
- Apache
世界排名第一、免费开源的Web服务器软件,可以安装运行在绝大多数的计算机平台上,支持大多数语言开发的B/S结构软件。功能强大,尤其在静态页面处理速度上表现优异。 - Lighttpd
轻量级web服务器,cpu占用低,效能好,模块丰富。 - Tomcat
Apache下的一个核心子项目,是目前使用量最大的免费的JAVA服务器。主要处理的是JSP页面和Servlet文件。常与Apache整合使用。 - Nginx
轻量级,高性能http和反向代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。 - IIS
Windows产品自带的免费Web服务器,安装配置简单,主要解析ASP程序代码。一般跟Apache整合使用。配置过程中需注意权限问题。
如何访问饥人谷
1 解析URL 协议:http
域名:jirengu.com
2 DNS解析 得到IP地址:121.40.201.213:80
端口:80
3 发送请求 把打包过的请求体
通过80端口
发给nginx服务器
4 响应请求 获取PHP文件
委托PHP应用服务区
从MySQL数据库
获得数据并翻译成html静态代码
返还
5 渲染页面 解析相关代码合并成渲染树
解析并运行JS代码
下载内嵌资源