【前端必备技能—浏览器原理】

一个浏览器到底是如何工作的,实际上,对浏览器的实现者来说,他们做的事情,就是把一个 URL 变成一个屏幕上显示的网页。

  • 浏览器首先使用 HTTP 协议或者 HTTPS 协议,向服务端请求页面;

  • 把请求回来的 HTML 代码经过解析,构建成 DOM 树;

  • 计算 DOM 树上的 CSS 属性;

  • 据 CSS 属性对元素逐个进行渲染,得到内存中的位图;

  • 一个可选的步骤是对位图进行合成,这会极大地增加后续绘制的速度;

  • 合成之后,再绘制到界面上。
    浏览器是如何工作的

    特别注意: 我们从 HTTP 请求回来开始,这个过程并非一般想象中的一步做完再做下一步,而是一条流水线。从 HTTP 请求回来,就产生了流式的数据,后续的 DOM 树构建、CSS 计算、渲染、合成、绘制,都是尽可能地流式处理前一步的产出:即不需要等到上一步骤完全结束,就开始处理上一步的输出,这样我们在浏览网页时,才会看到逐步出现的页面。

1、http 协议

浏览器首先要做的事就是采用 http 协议根据 URL 把数据取回来(这个过程之前还有 DNS 查询,不过这里就不详细展开了)。

  • HTTP 标准:由 IETF 组织制定,跟它相关的标准主要有两份:

    • HTTP1.1 https://tools.ietf.org/html/rfc2616
    • HTTP1.1 https://tools.ietf.org/html/rfc7234HTTP
      协议是基于 TCP 协议出现的,对 TCP 协议来说,TCP 协议是一条双向的通讯通道,HTTP 在 TCP 的基础上,规定了 Request-Response 的模式。这个模式决定了通讯必定是由浏览器端首先发起的。部分情况下,浏览器的实现者只需要用一个 TCP 库,甚至一个现成的 HTTP 库就可以搞定浏览器的网络通讯部分。HTTP 是纯粹的文本协议,它是规定了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值