【JavaWeb】从输入URL到展示出页面的过程

目录

DNS域名解析

检查hosts文件

查询缓存

查询本地DNS服务器

​编辑查询根域名服务器等

三次握手建立连接

发送请求

响应请求

页面渲染

断开连接


这些过程简单的理解为先找到某人地址,给他发送消息可以去他家拿东西吗?他同意后拿到他的东西在自己家中展示出来。最后和他互道再见。

下面将详细介绍其中的过程。


DNS域名解析

URL 是“统一资源定位符”(Uniform Resource Locator)的首字母缩写,中文译为“网址”,表示各种资源的互联网地址。

有关DNS协议可以参考这篇文章http://t.csdn.cn/qow4V

检查hosts文件

浏览器先检查本地的hosts文件中是否有域名和IP映射的关系,如果有就直接完成域名解析,不用进行后面的查IP的工作。

查询缓存

如果hosts文件中没有,就先查缓存中有没有IP。过程大致如下: 

查询本地DNS服务器

查询根域名服务器等

完整如下图:

以上过程拿到了域名的IP,此时就可以继续下一步。


三次握手建立连接

http://t.csdn.cn/uQcaG

上面这篇文章中的TCP的连接管理中介绍了三次握手。把文章中的客户端换成浏览器即可。


发送请求

浏览器把请求打包成HTTP请求发送给服务器。

响应请求

服务器把发送过来的请求处理之后,把结果打包成HTTP报文返回给浏览器。

这上面的HTTP报文遵守的HTTP协议将会在下一篇文章中详细介绍。


页面渲染

浏览器拿到服务器返回的报文后就开始处理加工了。

处理HTML标签,构造成DOM树。

根据CSS解析生成CSS规则树。

DOM树 + CSS规则树 = 渲染树

重排:根据渲染树计算每个结点的几何信息

重绘:将每个结点绘制到屏幕上

回流:若哪个结点发生了变化,则重新生成渲染树重复上述步骤


断开连接

如果没有其他的操作,此时浏览器就会和服务器通过四次挥手来断开连接。

上面文章中三次挥手的下面就是四次挥手。


有什么错误评论区指出。希望可以帮到你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值