输入url到浏览器呈现页面的过程

这是一个复杂的过程,下面讲的只是一小部分而已,可以根据个人知识进行拓展

分为两大部分

1.浏览器是怎么得到资源的

浏览器先根据域名来查找服务器ip地址:

1.检查本地hosts文件有没有这个域名与ip地址的映射关系,有则返回

2.查找本地域名缓存,有则返回

3.向本地域名服务器查询,有则返回

4.本地域名服务器向根域名服务器查询,根域名服务器告诉本地域名服务器,下一次应该向顶级域名服务器查询

5.顶级域名服务器告诉本地域名服务器,下一次应该向权限域名服务器查询

6.权限域名服务器告诉本地域名服务所查询主机的ip地址

7.本地域名服务器把得到的结果转达给主机

得到ip地址后,就开始建立tcp连接(如果是https的话,还要先建立一个“安全通道”)

客户端发起请求,服务器接到请求后返回一个响应,客户端接收到这个响应后又返回一个“确认收到”的响应,服务器接收到这个“确认响应”后,tcp连接建立,

客户端发送一个http的get请求资源,服务器找到该资源后返回。这个过程不止执行一次,若html中嵌入了其他资源,这个过程会多次发生。

2.得到资源后,浏览器是怎么解析资源的

解析其实有两个步骤,首先是词法分析,把文档分解为符号,然后是解析器根据语法规则来分析文档结构,形成树

渲染引擎解析html,将标签转化为dom tree

接着解析css文件以及style标签中的样式信息,这些样式信息以及html中的可见性指令将用来构建render tree,

render tree由一些含有颜色和大小等属性的矩形组成,他们将被按照正确的顺序显示到屏幕上。

render tree构建好之后,将会执行布局过程,他将确定每个节点在屏幕上的确切坐标,接下遍历render tree,绘制每一个节点

最后是执行javascript,修改节点,或者发起异步请求


参考资料

http://blog.jobbole.com/12749/

http://blog.csdn.net/yipiankongbai/article/details/25031461

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值