zoukankan      html  css  js  c++  java
  • 浏览器是如何工作的

    英文原文

    http://taligarsiel.com/Projects/howbrowserswork1.htm

    引言

    浏览器可能是最广泛使用的软件了,本书我将介绍浏览器是如何在幕后工作的。我们会了解到从你在浏览器地址栏中输入“google.com”直至浏览器屏幕上显示Google页面的整个过程中都发生了什么。

    本书涉及的浏览器

    目前有五大主流的浏览器,它们分别是 IE、Firefox、Safari、Chrome 和 Opera。我将从开源浏览器举例,如Firefox、Chrome 和 Safari,这些部分是开源的。根据W3C的统计,目前开源浏览器的市场份额已占很大比重。

    浏览器主要功能

    浏览器主要功能是呈现您在网络上选择的资源,从服务器端请求您需要的资源并最终显示在您的显示器中。这些资源通常是 HTML ,但也可能是 PDF、图片或其他类型,资源位置由用户通过URI指定。更多相关信息可参考网络相关章节。

    HTML 和 CSS 规范指定了浏览器该如何解析和显示 THML 文件,这些规范由 W3C(world wide web consortium) 进行维护,W3C 是制定 web 标准的组织。当前最新版本的 HTML 版本是 5 ,最新的 CSS 版本是 3 。

    旧版本的古老浏览器都只实现了规范中的某一部分,并且开发了自己独有的扩展(规范),这给网络开发者造成了很大麻烦——许多兼容性问题。就目前而言,大多数新版本浏览器都遵守并实现了大量的规范,但由于种种原因仍有浏览器或多或少的与标准规范存在出入。

    各大厂商的浏览器界面其实大同小异,都具备一些通用的界面元素:

    • 用于输入网址的地址栏
    • 返回和前进按钮
    • 书签选项
    • 用于刷新和停止当前页面的刷新和停止按钮
    • 主页按钮

    浏览器界面并没有在任何形式的规范中被提及,但存在一些最佳实践,这建立在浏览器多年的发展和相互之间的大量借鉴模仿之上。 HTML 规范并没有定义浏览器必须具备哪些界面元素,但列出了一些公共的清单。其中有地址栏、状态栏和工具条。当然,各浏览器也会有一些自己独有的功能实现,比如 Firefox 的下载管理。更多相关信息可参考 用户界面章节 。

    浏览器整体架构

    浏览器主要组件包括:

    1. 用户操作界面 - 这包括地址栏、前进/后退按钮、书签栏菜单等等。
    2. 浏览器引擎 - 用于查询和处理渲染引擎的接口
    3. 渲染引擎 - 负责显示请求的内容。比如,你请求的内容是HTML,它负责解析HTML和CSS并在屏幕上显示出来。
    4. 网络 - 用于处理网络连接,比如HTTP请求。它具有平台无关性及在各平台下的实现。
    5. UI后端 - 用于绘制基本部件、如组合框和窗口。它公开了一个不针对特定平台的通用接口。在底层他调用操作系统的UI方法。
    6. javascript 解释器 - 解析和执行 javascript 代码。
    7. 数据存储 - 这是一个持久层。用于存储浏览器需要存储到本地硬盘的所有数据,如cookie、HTML5 定义的 web database 等等。

    图 1:浏览器主要组件

    需要注意的是chrome浏览器,他与大多数浏览器不同, 它的每一个标签页都单独拥有一个进程并拥有独立的渲染引擎实例。

    组件间的通信

    Firefox 和 chrome 都开发了自己特有的组建通信机制,这将会在特殊的章节中讨论。

    渲染引擎

     未完待续

  • 相关阅读:
    django 项目需要注意的一些点
    VUE之路
    Oracle 表格碎片的查看方法
    RHEL 6.x or 7.x 使用分区绑定ASM 磁盘的方法
    RMAN 修复主库 nologging 操作导致物理备库的坏块
    Oracle 数据库19c 回退降级到 11.2.0.4 方案
    如何评估oracle 数据库rman全备和增量备份大小
    在将Oracle GI和DB升级到19c或降级到以前的版本之前需要应用的补丁 (Doc ID 2668071.1)
    Oracle 数据库坏块处理
    opatch auto 安装11.2.0.4.20190115 PSU遇到 OUI-67133: Execution of PRE script failed,with returen value 1 报错
  • 原文地址:https://www.cnblogs.com/kelsen/p/4931894.html
Copyright © 2011-2022 走看看