深刻解析瀏覽器的幕後工做原理(一) 簡介

咱們要討論的瀏覽器

  目前使用的主流瀏覽器有五個:Internet Explorer、Firefox、Safari、Chrome 瀏覽器和 Opera。本文中以開放源代碼瀏覽器爲例,即 Firefox、Chrome 瀏覽器和 Safari(部分開源)。根據 StatCounter 瀏覽器統計數據,目前(20118 月)Firefox、Safari 和 Chrome 瀏覽器的總市場佔有率將近 60%。因而可知,現在開放源代碼瀏覽器在瀏覽器市場中佔據了很是堅實的部分。

瀏覽器的主要功能

  瀏覽器的主要功能就是向服務器發出請求,在瀏覽器窗口中展現您選擇的網絡資源。這裏所說的資源通常是指 HTML 文檔,也能夠是 PDF、圖片或其餘的類型。資源的位置由用戶使用 URI(統一資源標示符)指定。

  瀏覽器解釋並顯示 HTML 文件的方式是在 HTML 和 CSS 規範中指定的。這些規範由網絡標準化組織 W3C(萬維網聯盟)進行維護。 
多年以來,各瀏覽器都沒有徹底聽從這些規範,同時還在開發本身獨有的擴展程序,這給網絡開發人員帶來了嚴重的兼容性問題。現在,大多數的瀏覽器都是或多或少地聽從規範。

  瀏覽器的用戶界面有不少彼此相同的元素,其中包括:

用來輸入 URI 的地址欄
前進和後退按鈕
書籤設置選項
用於刷新和中止加載當前文檔的刷新和中止按鈕
用於返回主頁的主頁按鈕
  奇怪的是,瀏覽器的用戶界面並無任何正式的規範,這是多年來的最佳實踐天然發展以及彼此之間相互模仿的結果。HTML5 也沒有定義瀏覽器必須具備的用戶界面元素,但列出了一些通用的元素,例如地址欄、狀態欄和工具欄等。固然,各瀏覽器也能夠有本身獨特的功能,好比 Firefox 的下載管理器。

瀏覽器的高層結構

 
 

  瀏覽器的主要組件爲 (1.1):html

 
 
  1. 用戶界面 - 包括地址欄、前進/後退按鈕、書籤菜單等。除了瀏覽器主窗口顯示的您請求的頁面外,其餘顯示的各個部分都屬於用戶界面。
  2. 瀏覽器引擎 - 在用戶界面和呈現引擎之間傳送指令。
  3. 呈現引擎 - 負責顯示請求的內容。若是請求的內容是 HTML,它就負責解析 HTML 和 CSS 內容,並將解析後的內容顯示在屏幕上。
  4. 網絡 - 用於網絡調用,好比 HTTP 請求。其接口與平臺無關,併爲全部平臺提供底層實現。
  5. 用戶界面後端 - 用於繪製基本的窗口小部件,好比組合框和窗口。其公開了與平臺無關的通用接口,而在底層使用操做系統的用戶界面方法。
  6. JavaScript 解釋器。用於解析和執行 JavaScript 代碼。
  7. 數據存儲。這是持久層。瀏覽器須要在硬盤上保存各類數據,例如 Cookie。新的 HTML 規範 (HTML5) 定義了「網絡數據庫」,這是一個完整(可是輕便)的瀏覽器內數據庫。
 轉載至:http://www.cnblogs.com/lhb25/p/how-browsers-work.html
相關文章
相關標籤/搜索