浏览器是怎样工作的(一):基础知识
译注:
前两天看到一篇不错的英文文章,叫做 How browsers work,该文概要的介绍了浏览器从头到尾的工作机制,包括HTML等的解析,DOM树的生成,节点与CSS的渲染等等,对于想学习浏览器源码的同学来说,实在是很棒的一篇科普文章。尽管对于每部分,该文的描述并不足够深入,但综合来讲,即使没兴趣学浏览器源码,也还是有一些值的学习的思想在里面的,可以权当开拓下视野,有益无害。
于是,我想分节挑重点翻译一下与大家分享。以下为译文:
我们要讨论的浏览器
当今主流浏览器有五类: Internet Explorer, Firefox, Safari, Chrome 以及 Opera。 我会基于开源浏览器 Firefox, Chrome 与 Safari(部分开源)来举例说明。 按照 W3C 浏览器统计, 当今(2009年10月), Firefox, Safari 及 Chrome 的总占有率已接近 60%,这是非常可观的。
浏览器的主要功能
浏览器的主要功能是展示网页资源,也即请求服务器并将结果显示在浏览器窗口中。资源的格式一般是HTML,但也有PDF、图片等其它各种格式。资源的定位由URL来实现。更多细节请参考“网络”一节。
浏览器释与展现HTML文件的方式是参照HTML与CSS规范来的,这些规范由 W3C (World Wide Web Consortium) Web标准化组织来维护。 当前HTML版本是 4 (http://www.w3.org/TR/html401/),HTML5正在进行中。当前CSS版本为2 (http://www.w3.org/TR/CSS2/),同样,版本3进行中。
过去几年里,各版本浏览器有许多各自的扩展,这使网页作者很难写出兼容性好的内容。如今这一严重的兼容性问题已经开始好转,各种浏览器都开始兼容标准规范。
各浏览器的用户接口有很多相同的地方,下面是一些常用的用户接口:
用于输入URI的地址栏
前进后退按钮
书签选项
刷新停止按钮,用于控制页面加载
主页按钮
很奇怪的是,浏览器的用户接口并没有写进任何规范中,这种极大的相似性只是在多年的实践经验以及浏览器之间的相互借鉴中形成的。HTML5规范没有规定浏览器必须有哪些交互元素,但是列出了一些通用元素,比如地址栏, 状态栏和工具栏。 当然,特定浏览器有自己独有的特性,如Firefox的下载管理器。更多内容请参考用户接口一节。
浏览器的上层结构
浏览器的主要概念如下 (1.1):
用户接口 – 包括地址栏,前进后退,书签菜单等窗口上除了网页显示区域以外的部分。
浏览器引擎 – 查询与操作渲染引擎的接口。
渲染引擎 – 负责显示请求的内容。比如请求到HTML, 它会负责解析HTML 与 CSS 并将结果显示到窗口中。
网络 – 用于网络请求, 如HTTP请求。它包括平台无关的接口和各平台独立的实现。
UI后端 – 绘制基础元件,如组合框与窗口。它提供平台无关的接口,内部使用操作系统的相应实现。
JavaScript解释器。用于解析执行JavaScript代码。
数据存储。这是一个持久层。浏览器需要把所有数据存到硬盘上,如cookies。新的HTML规范 (HTML5) 规定了一个完整(虽然轻量级)的浏览器中的数据库:’web database’。
图1: 浏览器的主要概念
需要注意的是,与其它浏览器不同,chrome使用多个渲染引擎实例,每个Tab一个,每个Tab都是一个独立进程。
我会拿出一个章节来介绍每块内容。
组件间的通信
Firefox 与 Chrome 开发了一种特殊的通信架构,这会在一个特殊章节讨论。
本文作者:hfliu 转载请注明来自:携程设计委员会
相关文章
- 因特网基本服务
- 综合文档管理信息系统
- 全国高校计算机等级考试一级考什么内容
- 七年级信息技术上册全册导学案教案教学设计
- 三年级[认识网络新朋友]教学设计
- ASP精品课程系统-论文-By_gnksguybb
- 软件市场调研与营销报告
- 宝洁网申常见问题解答
- 网页设计-课程设计完整版
第三章 因特网基本服务 前两章学习了计算机网络基础和因特网应用基础知识,本章主要学习因特网的四种基本服务,包括万维网.电子邮件.远程登录和文件传输以及网络的各种应用模式的基本工作原理及其应用方式. 图3-1 因特网基本服务内容框架图 二. ...
综合文档管理中心 应用软件创造客户价值 民族欲发展我辈当自强 欢迎使用中国人自己的软件 东软软件股份有限公司 计算机软件国家工程研究中心 欢迎您打开这本小册子,东软希望藉此成为您的朋友,更为重要的是我们希望能够在工作中助您一臂之力. 用SE ...
考试科目:一级MS Office.一级WPS Office和一级B ,一级共三个科目. (都是计算机基础知识.基本办公软件的使用.一级B 是入门级 我想应该是最简单的 它没有PPT 的内容.一级WPS OFFICE 考试和其余二者办公平台不 ...
主备人:刘刚 授课教师:刘刚 授课时间:第一周 授课班级:七年级 审核: 学习目标: 知识目标:1.了解信息的含义.特点和表现形式 2.了解信息技术的含义.发展历程和分类 3.学会真正使用信息 能力目标:培养学生采集.存储.传递.加工.处理 ...
教学单元 第三单位 总 - 小时 话题 知道网络中的新朋友 课 教学内容 打开,浏览和关闭网页 学习情况分析 网络的魅力是无限的.这个类是学生第一次联系网络教学,虽然学生都知道网络世界是非常令人兴奋的,但是他们对浏览器,网页,网页和超链接的 ...
精品课程系统 摘 要 随着互联网技术的迅猛发展,网络给人们带来了很多便利,比如人们借助于网络进行在线课程教学.精品课程网第一步要做的就是将教学内容在网上发布,用户则选择自己需要的课件资源进行下载.考试.课程答疑.bbs 交流.成绩查询等.本 ...
数学与计算机学院 实践调查报 告 ( 20 12 / 2013 学年 第 3 学期) 目 录 第1章 调研工作方案 1.1调研目的 1.2调研内容 1.3主要调查对象和范围 1.4调研方式 1.5调研人员 1.6调研时间 第2章 问卷分析 ...
宝洁网申常见问题解答 1. 我需要登陆什么网址来进行网上申请宝洁公司的职位? 请浏览宝洁中国的网站 http://www.pg.com.cn , 注意申请前请认真阅读网上申请指南. 2. 我要怎样进行网上申请?宝洁公司网上申请的程序是怎么样 ...
吉林化工学院课程设计说明书 王凤交的个人网站设计 学生学号: 10810103 学生姓名: 王凤交 专业班级: 信科 1001 指导教师: 李双远 起止日期: 2013.5.27-2013.6.8 吉林化工学院 Jilin Institut ...