基于IE內核的多進程瀏覽器設計與實現(xiàn)
發(fā)布時間:2021-10-17 13:15
隨著互聯(lián)網(wǎng)的發(fā)展和普及,瀏覽器作為上網(wǎng)的必備工具,穩(wěn)定性,安全性是瀏覽器是否好用易用的重要指標。在瀏覽器剛被設計出來的時候,那時的網(wǎng)頁非常的簡單,幾乎沒有動態(tài)的代碼。然而在今天我們看到大量網(wǎng)頁轉而使用動態(tài)網(wǎng)頁,從含有大量javascript和flash的網(wǎng)頁到像完全成熟的網(wǎng)絡應用,這些應用的很大一部分是在瀏覽器中運行的,就像運行在操作系統(tǒng)之上的應用程序一樣。同時,渲染引擎會經(jīng)常性的在網(wǎng)絡上遇到不可信、甚至是惡意的代碼,它們會利用這些漏洞在你的電腦上安裝惡意的軟件,僅僅一個頁面就可以利用渲染引擎的某個漏洞獲得對整臺計算機的控制權。本課題主要對IE內核進行封裝,并設計和實現(xiàn)一個多進程架構的瀏覽器,解決在瀏覽網(wǎng)頁時遇到的穩(wěn)定性問題,運行在Windows環(huán)境下,采用C++語言開發(fā)。采用多進程機制,根據(jù)功能將瀏覽器劃分為瀏覽器進程和渲染進程。采用了Windows下命名管道進行進程間通信,命名管道是Windows操作系統(tǒng)支持的一種進程間通信(IPC)機制,利用Win32API文件處理函數(shù)讀取數(shù)據(jù),支持同一臺計算機進程間或是網(wǎng)絡中不同計算機進程間互相通信。使用完成端口機制保證進程間通信效率,通過自定...
【文章來源】:哈爾濱工業(yè)大學黑龍江省 211工程院校 985工程院校
【文章頁數(shù)】:69 頁
【學位級別】:碩士
【文章目錄】:
摘要
Abstract
第1章 緒論
1.1 課題背景
1.2 瀏覽器架構發(fā)展現(xiàn)狀
1.2.1 松耦合 IE 架構
1.2.2 Chrome 多進程架構
1.2.3 WebKit2 多進程架構
1.3 本課題研究的主要內容
第2章 多進程瀏覽器分析
2.1 瀏覽器需求分析
2.2 瀏覽器高層結構分析
2.2.1 用戶界面
2.2.2 瀏覽器引擎
2.2.3 渲染引擎
2.2.4 網(wǎng)絡模塊
2.2.5 JavaScript 腳本引擎
2.2.6 XML 解析器
2.2.7 圖形顯示
2.2.8 數(shù)據(jù)持久層
2.3 多進程軟件模型分析
2.3.1 線程和進程
2.3.2 多進程模型的優(yōu)勢
2.4 IE 瀏覽器相關技術
2.4.1 組件對象模型
2.4.2 IE 瀏覽器體系結構
2.5 本章小結
第3章 多進程瀏覽器設計
3.1 瀏覽器模塊結構
3.2 瀏覽器多進程架構
3.2.1 架構設計
3.2.2 進程模型
3.3 瀏覽器中的線程及其通信
3.3.1 Command 設計模式
3.3.2 瀏覽器中的多線程模型
3.4 瀏覽器顯示網(wǎng)頁過程
3.5 本章小結
第4章 多進程瀏覽器架構實現(xiàn)
4.1 命名管道
4.1.1 命名管道基本概念
4.1.2 命名管道服務端
4.1.3 命名管道客戶端
4.2 完成端口
4.2.1 完成端口的使用方法
4.2.2 完成端口的內部機制
4.3 線程消息循環(huán)實現(xiàn)
4.4 進程間通信實現(xiàn)
4.4.1 進程間通信機制
4.4.2 IPC 消息格式和序列化
4.5 本章小結
第5章 IE 內核封裝實現(xiàn)及瀏覽器測試
5.1 自定義瀏覽器控件
5.1.1 集成瀏覽器控件
5.1.2 瀏覽器控件功能控制
5.1.3 控制導航,下載和執(zhí)行
5.1.4 控制新的窗口
5.2 IE 內核代碼封裝實現(xiàn)
5.3 瀏覽器測試及分析
5.3.1 測試的目的
5.3.2 測試環(huán)境
5.3.3 進程間通信測試
5.3.4 功能測試和穩(wěn)定性測試
5.3.5 結果分析
5.4 本章小結
結論
參考文獻
致謝
個人簡歷
本文編號:3441824
【文章來源】:哈爾濱工業(yè)大學黑龍江省 211工程院校 985工程院校
【文章頁數(shù)】:69 頁
【學位級別】:碩士
【文章目錄】:
摘要
Abstract
第1章 緒論
1.1 課題背景
1.2 瀏覽器架構發(fā)展現(xiàn)狀
1.2.1 松耦合 IE 架構
1.2.2 Chrome 多進程架構
1.2.3 WebKit2 多進程架構
1.3 本課題研究的主要內容
第2章 多進程瀏覽器分析
2.1 瀏覽器需求分析
2.2 瀏覽器高層結構分析
2.2.1 用戶界面
2.2.2 瀏覽器引擎
2.2.3 渲染引擎
2.2.4 網(wǎng)絡模塊
2.2.5 JavaScript 腳本引擎
2.2.6 XML 解析器
2.2.7 圖形顯示
2.2.8 數(shù)據(jù)持久層
2.3 多進程軟件模型分析
2.3.1 線程和進程
2.3.2 多進程模型的優(yōu)勢
2.4 IE 瀏覽器相關技術
2.4.1 組件對象模型
2.4.2 IE 瀏覽器體系結構
2.5 本章小結
第3章 多進程瀏覽器設計
3.1 瀏覽器模塊結構
3.2 瀏覽器多進程架構
3.2.1 架構設計
3.2.2 進程模型
3.3 瀏覽器中的線程及其通信
3.3.1 Command 設計模式
3.3.2 瀏覽器中的多線程模型
3.4 瀏覽器顯示網(wǎng)頁過程
3.5 本章小結
第4章 多進程瀏覽器架構實現(xiàn)
4.1 命名管道
4.1.1 命名管道基本概念
4.1.2 命名管道服務端
4.1.3 命名管道客戶端
4.2 完成端口
4.2.1 完成端口的使用方法
4.2.2 完成端口的內部機制
4.3 線程消息循環(huán)實現(xiàn)
4.4 進程間通信實現(xiàn)
4.4.1 進程間通信機制
4.4.2 IPC 消息格式和序列化
4.5 本章小結
第5章 IE 內核封裝實現(xiàn)及瀏覽器測試
5.1 自定義瀏覽器控件
5.1.1 集成瀏覽器控件
5.1.2 瀏覽器控件功能控制
5.1.3 控制導航,下載和執(zhí)行
5.1.4 控制新的窗口
5.2 IE 內核代碼封裝實現(xiàn)
5.3 瀏覽器測試及分析
5.3.1 測試的目的
5.3.2 測試環(huán)境
5.3.3 進程間通信測試
5.3.4 功能測試和穩(wěn)定性測試
5.3.5 結果分析
5.4 本章小結
結論
參考文獻
致謝
個人簡歷
本文編號:3441824
本文鏈接:http://www.sikaile.net/guanlilunwen/ydhl/3441824.html
最近更新
教材專著