瀏覽器工作原理與實踐-王寶令-極客時間-返現24元

wuwu發表於2019-08-06

極客時間出品的《瀏覽器工作原理與實踐》由李兵所作,李兵是前盛大創新院高階研究員。本專欄透過瀏覽器看懂前端本質。

瀏覽器工作原理與實踐封面圖

訂閱價格:

原價¥99 ,限時¥68   2344 人已學習 · 共36講 · 每週二 / 四 / 六更新, 本課程為音訊+圖文。可在極客時間APP/小程式/網站上永久觀看。

瀏覽器工作原理與實踐 宣傳圖

用我的邀請購買,返現24元。購買成功之後,請加我微訊號 dismissmewp ,備註:返現。

《瀏覽器工作原理與實踐》課程介紹

瀏覽器是上網的入口,是網際網路的“咽喉”。我們每天的工作、學習和娛樂等都離不開瀏覽器,各行各業、越來越多的應用也都依賴於此,特別是隨著雲端計算的普及和HTML5技術的快速發展,它的重要性更是與日俱增。

為了能準確評估Web開發專案的可行性,站在更高維度審視頁面,以及在快節奏的前端技術迭代中把握住問題的本質,完成前端技能進階,學習瀏覽器的工作原理就勢在必行了。

特別是前端技術出現了大爆炸式增長,各種新技術層出不窮,為了避免疲於應付,你可以通過學習瀏覽器的工作原理,掌握前端知識的本源,以不變應萬變

《瀏覽器工作原理與實踐》講師介紹

瀏覽器工作原理與實踐老師

李兵,前盛大創新院高階研究員。2008年,基於Chromium和IE釋出了第一款雙核瀏覽器(太陽花瀏覽器),在沒有任何宣傳的情況下,日活躍使用者數達到20多萬;而後進入盛大創新院,參與WebOS專案,在團隊中負責HTML5特性的實現;再之後,在順網科技和團隊打造了一款給全國網咖使用的“F1瀏覽器”,日啟量達2000萬。

算下來,李兵已經深耕瀏覽器和前端領域十餘年,有著豐富的理論和實踐經驗。為便於你快速對瀏覽器有個巨集觀的把控,李兵和極客時間團隊專門做了一個小視訊“工程師視角下的瀏覽器是怎樣的”:

在這門講解瀏覽器工作原理的課程中,李兵會用深入淺出的講解方式、圖文並茂的展現形式,把網路、頁面渲染、JavaScript、瀏覽器安全等知識串聯起來,從而讓你高質量、高效率地學習這門課程,系統掌握瀏覽器工作原理,並同時把理論應用到前端實踐中去。

《瀏覽器工作原理與實踐》課程模組

課程共36講,分為7大模組。

1. 巨集觀視角下的瀏覽器

本模組通過Chrome的多程式架構來介紹HTTP請求流程、導航流程和頁面的渲染流程,帶你從巨集觀視角建立瀏覽器的知識體系。

2. 瀏覽器中的JavaScript執行機制

雖然語法上和C語言很像,但是JavaScript背後的機制卻又完全不同,很多人學習JavaScript時經常處於似懂非懂的狀態。本模組則是站在瀏覽器的視角,來分析JavaScript程式碼的執行過程。如果你能掌握這些執行過程,那麼很多諸如閉包、變數提升等疑難問題就會迎刃而解。

3. V8工作原理

繼續深入探討來自Google的JavaScript引擎V8,分析其執行流程,細化講解JavaScript中資料是如何儲存和回收的。通過本模組的學習,你離打造高效能且節約記憶體的Web應用就更近一步了。

4. 瀏覽器中的頁面事件迴圈系統

要讓不同型別的任務在主執行緒中有條不紊地執行,這就需要有一個事件迴圈系統,用來負責接收、排程這些不同的事件。本模組會深入探討Web頁面中的事件迴圈系統,講解頁面中的微任務和巨集任務的實現機制,最後還會介紹一些WebAPI是如何與頁面的事件迴圈系統結合\b使用的。理解事件迴圈,能讓你從更高維度理解頁面是如何執行的,並加深你對頁面中非同步事件的理解。<

5. 瀏覽器中的頁面

頁面是瀏覽器的核心,瀏覽器中的所有功能點都是服務於頁面的。本模組會對頁面做全面的介紹,包括構建頁面的核心流程、頁面效能的分析過程。最後還會介紹一些應用場景,比如流行的前端框架為什麼要有虛擬DOM,最近比較火的PWA的工作原理,以及WebComponent。

6. 瀏覽器中的網路

網路的重要性毋庸置疑,但是很多前端工程師卻\b往往忽視它的存在。本模組通過HTTP/1、HTTP/2和HTTP/3的介紹,讓你全面瞭解瀏覽器中的網路,並最終讓你能向下理解其底層原理、向上理解其應用方向。

7. 瀏覽器安全

和瀏覽器打交道的內容都是通過網路進行的,但通常通過網路傳輸的內容是不被瀏覽器信任的,所以對於可能存在危險的地方都要重點防護。本模組會通過例項,向你介紹為何會出現各種安全問題,以及如何避免這些安全攻擊。

《瀏覽器工作原理與實踐》課程目錄

開篇詞丨參透了瀏覽器的工作原理,你就能解決80%的 前端難題

巨集觀視角下的瀏覽器

Chrome架構:僅僅開啟了 1個頁面,為什麼有4個程式?

TCP協議:如何保證頁面檔案能被完整送達瀏覽器?

HTTP請求流程:為什麼很多站點第二次開啟速度會很快?

導航流程:從輸入URL到頁面展示,這中間發生了什麼?

渲染流程(上):HTML、CSS和JavaScript檔案,是如何 變成頁面的?

渲染流程(下):HTML、CSS和JavaScript檔案,是如何 變成頁面的?

瀏覽器中的JavaScript執行機制

變數提升:JavaScript程式碼是按順序執行的嗎?

呼叫棧:為什麼JavaScript程式碼會出現棧溢位?

塊級作用域:var缺陷以及為什麼要引入let和const?

詞法環境和閉包:程式碼中出現相同的變數,JavaScript引 擎是如何選擇的?

this:從JavaScript執行上下文的視角講清楚this

V8工作原理

棧空間和堆空間:資料是如何儲存的?

垃圾回收:垃圾資料是如何自動回收的?

編譯器和直譯器:V8是如何執行一段JavaScript程式碼的?

瀏覽器中的頁面迴圈系統

訊息佇列和事件迴圈頁面是怎麼“活”起來的?

WebAPI: setTimeout 是怎麼實現的?

WebAPI: XMLHttpRequest 是怎麼實現的?

巨集任務和微任務:不是所有任務都是一個待遇

Promise:使用Promise,告別回撥函式

async/await:使用同步的方式去寫非同步程式碼

瀏覽器中的頁面

頁面效能分析:利用Chrome做Web效能分析

d〇M樹:JavaScript是如何影響DOM樹構建的?

樣式選擇:渲染引擎是如丨可為DOM節點選擇樣式屬性的?

分層和合成機制:為什麼CSS動畫比JavaScript高效?

頁面效能:如何系統地優化頁面?

虛擬DOM:虛擬DOM和實際的DOM有何不同?

漸進式網頁應用(PWA):它究竟解決了 Web應用的哪些 問題?

WebComponent:像搭積木一樣構建Web應用

瀏覽器中的網路

HTTP/1: HTTP效能優化

HTTP/2:如何提升網路速度?

HTTP/3:甩掉TCP、TLS的包揪,構建高效網路

瀏覽器安全

同源策略:為什麼XMLHttpRequest不能跨域請求資源?

跨站指令碼攻擊(XSS):為什麼Cookie中有HttpOnly屬性?

跨站點請求偽造(CSRF): Chrome力什麼要讓iframe運 行在單獨的渲染程式中?

沙盒:頁面和系統之間的隔離牆

HTTPS:讓資料傳輸更安全

猿人學banner宣傳圖

我的公眾號:猿人學 Python 上會分享更多心得體會,敬請關注。

***版權申明:若沒有特殊說明,文章皆是猿人學 yuanrenxue.com 原創,沒有猿人學授權,請勿以任何形式轉載。***

相關文章