网上有很多译文,谁知道他们怎么搞出来的,
我觉得他们肯定连小学都没毕业,我不看,我自己翻一遍
有空翻译一下这篇必读的文章 —浏览器到底是怎么工作的(目前使用的浏览器的底层原理是个啥)
会结合资料去翻译,反正怎么翻的自己脑补就完事了
如果想转请评论留个言并注明原博 @Sclifftop https://blog.csdn.net/S_clifftop/article/details/95994512
基本介绍
网页浏览器无疑是使用最广泛的软件。接下来我将解释一下它是怎么工作的,我们将通过一个例子:当你输入“googld.com”(就不改)后浏览器会怎么运行才能让你看到google的页面
我们将要谈的浏览器
目前大家使用最广泛的最主要有五款浏览器 —Internet Explorer(微软的浏览器)、Firefox(火狐)、Safari(苹果浏览器,知道怎么读吗?别再“撒夫瑞”了,是“色发瑞”,“色” “发” “瑞”)、Chrome(谷歌浏览器)、Opera(欧朋)。
后面我将通过几款部分有开源的浏览器并结合一些例子来说明。
通过W3C(World Wide Web Consortium,为了规范而设立的组织,规范什么俺也不说)的数据统计,我们知道火狐,Safari和谷歌浏览器的市场占有率已经达到了近六成,所以开源浏览器已是市场不可缺的一部分。
浏览器最主要的功能
浏览器最主要的功能说白了就是显示出你想要的资源,也就里向服务器请求然后显示在浏览器窗口中。请求的资源最常使用的格式是HTML(Hyper Text Markup Language 超文本标记语言),其他也包括PDF(Portable Document Format便携的文档格式),image(图片)等等。怎么获取它们呢?就是使用URL(Uniform resource Identifier统一资源标志符)。想了解更多请看网络这一章。等我翻译完会加跳转莫慌
浏览器解析出HTML文件的规则在HTML和CSS中有规范说明。这些规范说明是W3C来统一的,最新的HTML版本是5(原文太鸡儿旧),CSS版本是3。
之前的浏览器都想当老大,都想赚钱,部分规则统一,其他规则都乱七八糟,都有自己的标准。所以这个事很严重,对吧,但W3C不让你乱搞,所以他们相对之前老实了一点,大部分是一致的。
浏览器的界面大致都相同(反正都抄,也不能反人类设计),一般 都有下面的几点:
- 地址栏,输地址用的,谢谢
- 回退和前进(帅得不谈)
- 书签栏(帅得不谈+1)
- 刷新、暂停刷新、停止载入(帅得不谈+2)
- 主页(帅得不谈+n)
重点来了,浏览器界面没有规范说要怎么怎么样,但设计出来都一致,“这是经过多年和浏览器相互模仿而形成的良好实践”(抄袭的官话就这样说),HTML5没有规定浏览器界面必须有什么元素,所以你想加什么加什么,所以呢,你想加什么就加什么。更多请看浏览器页面这一章。 等我翻译完会加跳转莫慌
浏览器的高级组成结构(注意,开始有内涵了)
浏览器主要的组成:
- 用户界面(就是上面那些乱七八糟的)
- 浏览器引擎 —用于查数据和呈现
- 渲染引擎 —给人用的,解析并显示请求的内容到你美丽的辗庞上,解析呈现就完事了
- 网络 —就是网络请求用的,很多协议,不懂就去看计算机网络原理(忘了,并不多的名)
- UI的后端(机翻) —绘制基本的部件,你看一个页面是整体,其实是一个又一个小窗口拼起来的,小窗口内
填满自己的内容,底层是一些操作用户界面的接口(咱也不知道,咱也不敢问) - js解释器(js不是java,合法上网搜) —解析执行js代码
- 数据存储(这个帅得不谈,就是效率有点低) —持久层,就是把数据存到本地,也是个数据库,只不过存储方式和容量不同(就小呗)
看下图,不用再翻一遍了吧,还是再来一遍吧
注意了,Chrome每一个选项卡都是一个单独的进程,就像你看电影边听音乐,打开了两个页面,你以为只是一个,但他有俩,打开任务管理器就知道了(自己查任务管理器怎么打开的),不懂的话没事,又不扣你钱,下面有详细说。跳转
组件之间是怎么关联的呢(你的器官是怎么联系的呢)
Firefox(火狐)和Chrome(谷歌)都有一个特殊的实现方法,下面会谈。等我翻译完会加跳转莫慌
下面的等我慢慢翻,别急,我速度麻利快,我快,我快(19.07.15,也就是今天有点逼空,才开始翻译的)