浏览器运行原理
一、浏览器简介
浏览器是指可以显示网页服务器或者文件系统的HTML文件(标准通用标记语言的一个应用)内容,并让用户与这些文件交互的一种软件。
浏览器的主要功能就是向服务器发出请求,在浏览器窗口中展示您选择的网络资源。这里所说的资源一般是指 HTML 文档,也可以是 PDF、 图片或其他的类型。 资源的位置由用户使用URI(统一资源标符)指定。多年以来,各浏览器都没有完全遵从这些规范,同时还在开发自己独有的扩展程序,这给网络开发人员带来了严重的兼容性问题。 如今,大多数的浏览器都是或多或少地遵从规范。
目前使用的主流浏览器有五个:Internet Explorer、 Firefox、 Safari、 Chrome 和 Opera。
浏览器按照引擎分类:
(1)Trident引擎:Internet Explorer
(2)Webkit引擎:Chrome(28版本后基于blink,blink是webkit的一个分支)和Safari
(3)Gecko引擎:Firefox
(4)Presto引擎:早期Opera采用,后用webkit引擎。
二、浏览器的主要构成
浏览器的主要组件包括:
1.用户界面:包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分。
2.浏览器引擎:用来查询及操作渲染引擎的接口。
3.渲染引擎:用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来。
4.网络:用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作。
5.UI后端:用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口。
6.JS解释器:用来解释执行JS代码。
7.数据存储:属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术。
图1:浏览器主要组件
三、浏览器的工作原理:
服务器的工作原理:一般可分成如下四个步骤:连接、请求、应答以及关闭连接。
(1)连接:指服务器和浏览器之间所建立起来的一种连接。想查看连接是否成功,用户可以打开socket这个虚拟文件,这个文件的建立意味着连接这一步骤已经成功。
(2)请求就是浏览器运用socket这个文件向其服务器而提出各种请求。
(3)应答指运用HTTP协议把在请求中所提出来的请求传输到服务器,进而实施任务处理,然后运用HTTP协议把任务处理的结果传输到的浏览器,同时在浏览器上面展示上述所请求之界面。
(4)关闭连接就是当上一个步骤–应答过程完成以后,服务器和浏览器之间断开连接的过程。 服务器上述四个步骤紧密相联,支持多个进程、线程以及进程与多个线程相混合的技术。