筆記說明前端
瀏覽器工做原理與實踐是李兵【前盛大創新院高級研究員】在極客時間開的一個專欄,透過瀏覽器看懂前端本質, 筆者主要整理學習過程的一些要點筆記以及感悟,完整的能夠加入李兵老師的專欄學習。 chrome
在回答這個問題以前, 李兵老師先詳細的講解了進程和線程的區別,在此附上我對老師講解內容的整理瀏覽器
進程和線程 安全
單進程瀏覽器、多進程瀏覽器bash
因此最新的 Chrome 瀏覽器包括:網絡
由於渲染進程的內容是經過網絡獲取的,獲取的文件可能會存在惡意代碼,這些代碼是不安全不被信任的。因此渲染進程是運行在安全沙箱裏的。 學習
這也就解釋了爲何打開一個頁面 chrome會出現4個進程。若是頁面中嵌有iframe,而且這些iframe域名不一樣,渲染進程的數量也會相應增長。spa
「同一站點」定義爲根域名(例如,geekbang.org)加上協議(例如,https:// 或者 http://),還包含了該根域名下的全部子域名和不一樣的端口,好比下面這三個:插件
https://time.geekbang.org
https://www.geekbang.org
https://www.geekbang.org:8080
// 它們都是屬於同一站點,由於它們的協議都是 HTTPS,並且根域名也都是 geekbang.org。
複製代碼
一般狀況下,一個頁面使用一個進程(每一個標籤都會有本身的渲染進程),可是有些狀況下(從A頁面打開了一個新的頁面B頁面,並且A,B頁面恰巧屬於同一站點,B頁面就會複用A頁面的渲染進程,也就是說他們是在同一個渲染進程),就會致使一個頁面崩潰,同一站點的其餘頁面也會崩潰。因此即便是現在的多進程瀏覽器 也會出現一個頁面崩潰卡死最終致使多個頁面卡死 線程