你必须知道的浏览器原理

前端技术优选 5天前

随着云计算的普及和 HTML5 技术的快速发展,越来越多的应用转向了浏览器 / 服务器(B/S)架构,这种改变让浏览器的重要性与日俱增,视频、音频、游戏几大核心场景也都在逐渐往 Web 使用场景切换。可以说,在 PC 端,浏览器已经处于绝对的统治地位。

作为开发工程师,理解浏览器是如何工作的,对我们做业务的技术选型、架构设计等都有非常重要的作用,让我们可以准确评估 Web 开发项目的可行性,站在更高维度审视页面,以及在快节奏的技术迭代中把握住问题的本质。

可是我发现,大部分前端工程师对浏览器的理解,其实并不深入透彻。

比如,面试时我通常会问候选者一个问题:“在浏览器里,从输入 URL 到页面展示中间发生了什么?

这道题涉及到网络、操作系统、Web 等一系列的知识,如果你要开发流畅的页面,或者诊断 Web 页面中的性能问题,那你就需要了解 URL 是怎么变成页面的,只有弄懂这些之后,你才可以站在全局的角度定位问题或者写出高效的代码。

浏览器确实会涉及很多概念,不仅繁多而且琐碎,包括网络、渲染、安全,以及大前端相关的大量概念。比如,首屏的显示就涉及了 DNS、HTTP、DOM 解析、CSS 阻塞、JavaScript 阻塞等技术因素,其中一项没处理好就可能导致整个页面的延时。如果没有系统的学习,很容易出现遗漏和盲点。

所以,一开始你就需要建立起来浏览器的宏观视角,通过宏观视角搭建起“浏览器知识大厦”的脚手架,这样就可以把这些知识点串成线,连成网,最终形成自己的知识体系,练就像专家一样思考问题、解决问题的能力。

刚开始研究这东西时,没少在网上找资料。新年期间自己也补了补功课,重新认识浏览器,把网络、页面渲染、JavaScript、浏览器安全等知识串联起来。能够准确快速的建立起此项技能树,李兵推出的专栏《浏览器工作原理与实践》给了我很大帮助,让我对整个前端体系有了全新的认识。

输入口令「happy2021」立省 30 元,
到手仅 ¥ 69,仅限「前 50 人」有效
作者李兵,现在是一名创业者,也是一名工程师。2008 年底,基于 Chromium 和 IE 发布了一款双核浏览器:太阳花。这是国内第一款双核浏览器,使用它,除了能享受到 Chrome 的快捷之外,还能兼容只支持 IE 的站点。

开发过程中最大的挑战是如何在 Chromium 中集成 IE 模块,为此花了大量时间来研究 Chromium 的进程架构以及渲染流程。幸运的是,最终发布的产品在没有任何宣传的情况下,日活达到了 20 多万。

在 2011 年,老李去了盛大创新院,参与研发 WebOS 项目。WebOS 的愿景是基于 WebKit 内核打造一个能和安卓并存的操作系统。

李兵在团队中负责 HTML5 特性的实现,比如实现 Web Workers、Application Cache、LocalStorage、IndexedDB、CSS3 部分动画效果等。这些工作经历让他对浏览器的整个渲染流程,以及 HTML5 的发展趋势有了更加深入的认知。

再之后,去了顺网科技,和团队打造了一款给全国网吧使用的“F1 浏览器”,日启量达到 2000 万。

由于网吧的电脑环境异常复杂,页面劫持经常发生,所以对页面安全提出来更高的要求。再加上每天千万级别的启动量,所以页面的加载速度和流畅度也至关重要,它们直接决定了用户的流失程度。这段工作经历,让李兵对浏览器安全有了全新的理解,同时又对页面性能的优化有了系统性的认知。

你能获得什么?

老李会用通俗易懂的语言,深入浅出的讲解方式图文并茂的展现形式把网络、页面渲染、JavaScript、浏览器安全等知识串联起来,从而让你对整个前端体系、浏览器有个全新的认识。

比如下面是“渲染流水线的总结图”:

线程之间共享进程中的数据示意图

以下是课程的详细目录:

学习前端最重要的是要理解浏览器的工作原理,毕竟我们写的代码最终是要被浏览器处理的,理解浏览器背后的原理可以帮我们更快速定位问题,找到问题的解决方案。了解浏览器是如何工作的,能够让你站在更高的角度去理解前端。

不看的原因确定内容质量低不看此公众号
(0)

相关推荐

  • 终究要与现实和解,微软或将要和Edge说再见了

    最近一段时间里,美国金融市场中各大科技股都遭遇了下跌的挫折,但是在这一片"跌跌不休"中,微软的表现则是"FAANG"之中最亮眼的一个,而且还在上个月的最后一天里 ...

  • python接口自动化29-requests-html支持JavaScript渲染页面

    前言 requests虽好,但有个遗憾,它无法加载JavaScript,当访问一个url地址的时候,不能像selenium一样渲染整个html页面出来. requests-html终于可以支持Java ...

  • 电脑浏览器软件大全

    (IE6)Internet Explorer 6 软件评分: 软件大小: 53.8MB 更新时间: 2020-12-18 查看详情 软件简介 IE6.0中文版即全称Internet Explorer ...

  • 为何中国没有自主浏览器内核?研发推广资金需上百亿美元

    上次的超能周末刊中,最轰动的一件事就是所谓的国产自主研发的红芯浏览器被曝抄袭谷歌浏览器,这件事爆出了国内缺少自主研发的浏览器内核.那么国内为什么研发不出浏览器内核呢?在很多人看来浏览器内核应该不是多有 ...

  • 你要偷偷学会浏览器原理,然后惊艳所有人

    最近这几年,云计算的普及和 HTML5 技术的快速发展,越来越多的应用转向了浏览器 / 服务器(B/S)架构,这种改变让浏览器的重要性与日俱增,视频.音频.游戏几大核心场景也都在逐渐往 Web 使用场 ...

  • 前端:浏览器、GPU 工作原理简要及动画编程启示

    " 最近作者在 VIPKID 企业内部做了一次关于'动画增强技术方案'的分享,在原分享的基础之上,加入了对浏览器工作原理的考察,并补充动画编码启示若干,烩成此篇,欢迎讨论雅正.本文大约 33 ...

  • 问我Chrome浏览器的渲染原理(6000字长文)

    前言 对于HTML,css和JavaScript是如何变成页面的,这个问题你了解过吗?浏览器究竟在背后都做了些什么事情呢?让我们去了解浏览器的渲染原理,是通往更深层次的开发必不可少的事情,能让我们更深 ...

  • 深入浅出浏览器渲染原理

    目录 前言 页面加载过程 浏览器渲染过程 1)浏览器会解析三个东西: 2)解析完成后,浏览器引擎会通过DOM Tree 和 CSS Rule Tree 来构造 Rendering Tree. 3)最后 ...

  • 看完这篇要是还不懂“浏览器渲染原理”,那就……

    作者:_杨溜溜 https://segmentfault.com/a/1190000022633988 在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏 ...

  • JavaScript内部原理:浏览器的内幕

    简介 Javascript 是一种奇怪语言,有些人喜欢它,有些人讨厌它.它有许多独特的机制,这些机制在其他流行语言中不存在,也没有对应的机制,还有突出明显的就是代码的执行顺序 了解浏览器环境,它的组成 ...

  • 浏览器渲染原理

    作者:_杨溜溜 https://segmentfault.com/a/1190000022633988 在我们面试过程中,面试官经常会问到这么一个问题,那就是从在浏览器地址栏中输入URL到页面显示,浏 ...

  • 世界微笑日 | “笑一笑,十年少”的心理学原理

    迪香式微笑 法国的一位医生迪香曾在1860年做过个实验.他用适度的电极电流刺激实验者的面部肌肉,看不同的肌肉动作可以产生什么样的表情.记录发现,人们微笑的时候动用了三块肌肉:嘴角肌.颧骨肌和眼角肌.嘴 ...

  • 【感应式IC卡】S50卡技术资料和工作原理

             S50卡,采用NXP MF1 IC S50制作的非接触智能卡,通常简称S50卡.Mifare 1K卡.M1卡或直接简称感应式IC卡,符合ISO14443A标准,拥有4字节UID号,是 ...