Modernes Chrome-Webbrowser-Gerät (Teil 2/4)

Dies ist Teil 2 von 4, der sich mit dem Innenleben von Chrome befasst. Im vorherigen Teil haben wir uns angesehen, wie verschiedene Prozesse und Threads mit verschiedenen Teilen des Browsers funktionieren. In diesem Beitrag werden wir uns genauer ansehen, wie die einzelnen Prozesse und Threads beim Rendern einer Website interagieren.





Teil 1

Teil 2 (aktuell)

Teil 3

Teil 4



Informationen zu Übersetzungsfunktionen
  • , , .. () . — , - . : *-, *-. , , , , , .
  • , , , , . "" , .


-: URL , . , , — .



*- (browser process)



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



Bild



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





= 1.



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



Bild



1-bis: *UI- , URL-



= 2.



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



Bild



2: *UI- *- mysite.com



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



= 3.



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



Bild



3: , Content-Type ,



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



Bild



4: *- , HTML



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



= 3. *-



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



Bild



5: *-, *UI- *-



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



= 4.



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



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



Bild



6: IPC *- *-,



= .



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



"" , JavaScript .



Bild



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





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



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



: beforeupload. , , . , , , , .

Bild



8: IPC- *- *-, ,



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



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



Bild



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



Service Worker (*-)



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



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



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



Bild



10: - \-



Bild



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



(Navigation Preload)



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



Bild



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





In diesem Beitrag haben wir uns angesehen, was während der Navigation passiert und wie Ihr Webanwendungscode, wie z. B. Antwortheader und clientseitiges JavaScript, mit dem Browser interagiert. Wenn Sie die Schritte kennen, die ein Browser durchläuft, um Daten aus dem Web abzurufen, können Sie leichter verstehen, warum APIs wie das Navigation Preload entwickelt wurden. Im nächsten Beitrag werden wir untersuchen, wie der Browser mit HTML / CSS / JavaScript umgeht, um Seiten zu rendern.



Teil 1

Teil 2 (aktuell)

Teil 3

Teil 4




All Articles