从URL在浏览器被输入到页面展现的过程中发生了什么?

浏览器输入一个地址。到页面展示中间经历了哪些东西?

1、浏览器输入url。先解析url地址是否合法

2、浏览器检查是否有缓存(浏览器缓存-系统缓存-路由器缓存)。如果有,直接显示。如果没有,跳到第三步。

3、在发送http请求前,需要域名解析(DNS解析),解析获取对应过的ip地址。

4、浏览器向服务器发起tcp链接,与浏览器建立tcp三次握手

5、握手成功后,游览器向服务器发送http请求,请求数据包

6、服务器收到处理的请求,将数据返回至浏览器

7、浏览器收到http响应。

8、浏览器解析响应。如果响应可以缓存,则存入缓存

9、浏览器发送请求获取嵌入在HTML中的资源(html,css,JavaScript,图片,音乐等),对于未知类型,会弹出对话框

10、浏览器发送异步请求

11、页面全部渲染结束。(前端的话,还要细谈渲染过程)

页面渲染过程

1、从HTML中解析出DOM Tree;
2、从CSS中解析出CSSOM Tree;
(第1步和第2步并行操作,不分先后)
3、DOM Tree和CSSOM Tree组合起来形成渲染树(Render Tree)
4、Reflow:计算出Render Tree上各个元素的物理属性,如位置、大小、是否看得见(visible)
5、Repaint:将计算结果转为实际的像素,画到页面上


重排(reflow)和重绘(repaint)是指浏览器渲染页面时的两个关键步骤。

重排指的是浏览器根据DOM树和CSS样式计算出每个元素在页面中的几何位置和大小的过程。当页面的布局发生变化,比如元素的位置、大小、内容或样式发生改变时,浏览器需要重新计算并确定元素的最终位置。这个过程是相对耗费性能的,因为它会涉及到多个元素的重新计算和布局。

重绘指的是根据计算好的布局信息,将元素的内容绘制到屏幕上的过程。当元素的样式发生变化,比如颜色、背景、边框等属性改变时,浏览器需要重新绘制这些元素。相比于重排,重绘的性能开销较小

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值