作为一名前端工程师,我们应该清楚浏览器是如何展示网页的,了解浏览器的原理可以令设计者找到适合的途径把网页展示给用户。
首先,让我们来看看什么是浏览器。网页浏览器是显示网页服务器或档案系统内的文件,并让用户与这些文件互动的一种软件。它用来显示在万维网或局部局域网络等内的文字、影像及其他资讯。浏览器就是设计者的画廊,设计者把网页放在这里展示给用户。
因为没有固定的标准,不同浏览器的组件不尽完全相同。不过大家相互模仿进步,基本上而言,浏览器的主要组件包括:
- 用户界面- 包括地址栏、后退/前进按钮、书签目录等,也就是你所看到的除了用来显示你所请求页面的主窗口之外的其他部分
- 浏览器引擎- 用来查询及操作渲染引擎的接口
- 渲染引擎- 用来显示请求的内容,例如,如果请求内容为html,它负责解析html及css,并将解析后的结果显示出来
- 网络- 用来完成网络调用,例如http请求,它具有平台无关的接口,可以在不同平台上工作
- UI 后端- 用来绘制类似组合选择框及对话框等基本组件,具有不特定于某个平台的通用接口,底层使用操作系统的用户接口
- JS解释器- 用来解释执行JS代码
- 数据存储- 属于持久层,浏览器需要在硬盘中保存类似cookie的各种数据,HTML5定义了web database技术,这是一种轻量级完整的客户端存储技术
那么,浏览器是如何展示网页的呢。浏览器的工作原理可以分以下几步来理解:
- 浏览器通过HTML表单或超链接请求指向一个应用程序的URL。
- 服务器收发到用户的请求。
- 服务器执行已接受创建的指定应用程序。
- 应用程序通常是基于用户输入的内容,执行所需要的操作。
- 应用程序把结果格式化为网络服务器和浏览器能够理解的文档,即我们所说的HTML网页。
- 网络服务器最后将结果返回到浏览器中。
这其中牵涉了超文本传输协议http(Hypertext transfer protocol )工作原理,欲知详情,请移步:
http://www.360doc.com/content/13/0422/16/3777348_280148022.shtml
推荐深入研读可读:http://www.iefans.net/liulanqi-ruhe-gongzuo-yuanli/