最新のChromeWebブラウザデバイス(パート2/4)

これは、Chromeの内部動作を確認する4のパート2です。前の部分、私たちはさまざまなプロセスやスレッドがブラウザの別の部分でどのように動作するかを見ました。この投稿では、各プロセスとスレッドがどのように相互作用してWebサイトをレンダリングするかを詳しく見ていきます。





パート1

パート2(現在)

パート3

パート4



翻訳機能について
  • , , .. () . — , - . : *-, *-. , , , , , .
  • , , , , . "" , .


-: URL , . , , — .



*- (browser process)



, , , *-. *- , *UI- (UI thread), , *- (network thread), , *- (storage thread), . URL , *UI- *-.



画像



1: , *- *UI-, *- *-





= 1.



, , *UI- " URL?". Chrome , *UI- , , , .



画像



1-bis: *UI- , URL-



= 2.



Enter, *UI- . , *- , DNS TLS .



画像



2: *UI- *- mysite.com



*- , , HTTP 301. *- *UI-, . URL-.



= 3.



(payload, ) , *- . 'Content-Type' , , , MIME-. " ", . , , 'content-type/payload'



画像



3: , Content-Type ,



HTML-, *-, zip- - , , , .



画像



4: *- , HTML



SafeBrowsing. , , *- . , Cross Origin Read Blocking (CORB), , *-.



= 3. *-



, *- , , *- *UI-, . *UI- *- -.



画像



5: *-, *UI- *-



, . *UI- URL *- 2, , . *UI- *- . , , *- , *- . , , .



= 4.



, *- , IPC *- *- . , *- HTML-. *- , *- , .



, . , "" "" , . / , .



画像



6: IPC *- *-,



= .



*- . , , . *- "" , IPC *- ( , ). *UI- .



"" , JavaScript .



画像



7: IPC- *- *- , "".





! , URL ? , , . , , , beforeunload.



beforeunload " ?" . , JavaScript , *-, *- *-, .



: beforeupload. , , . , , , , .

画像



8: IPC- *- *-, ,



*- (, JavaScript window.location = "https://newsite.com"), *- beforeupload. , . , *- *-.



, , *- , *- , . , Page Lifecycle API.



画像



9: 2 IPC- *- *-, *-



Service Worker (*-)



service worker. *- — ; - , . *- , .



, *- — JavaScript-, *-. , *- *-?



*- , *- ( The Service Worker Lifecycle). , *- *-, *- URL, *UI- *-, *-. *- , , .



画像



10: - \-



画像



11: *UI- *- *- *-; *- *-



(Navigation Preload)



, *- *- , *- . Navigation Preload — *-. , ; , .



画像



12: *UI- *-, *- *-





この投稿では、ナビゲーション中に何が発生するか、および応答ヘッダーやクライアント側JavaScriptなどのWebアプリケーションコードがブラウザーとどのように相互作用するかについて説明しました。ブラウザがWebからデータをフェッチするために実行する手順を知っていると、NavigationPreloadなどのAPIが開発された理由を簡単に理解できます。次の投稿では、ブラウザがHTML / CSS / JavaScriptを処理してページをレンダリングする方法について詳しく説明します。



パート1

パート2(現在)

パート3

パート4




All Articles