Ausführlich und unterhaltsam erklärt: Was passiert, wenn ich google.com im Browser aufrufe?

google 

Es gibt viele Dinge im Leben, über deren Hintergründe man sich eigentlich keine Gedanken macht, weil sie einfach funktionieren und für uns zu einer Selbstverständlichkeit wie der Strom aus der Steckdose und das Wasser aus der Mischbatterie gehören. Zu diesen alltäglichen Selbstverständlichkeiten gehört auch der Aufruf von google.com oder einer anderen Webseite. Ein sehr interessantes Dokument gibt nun einen tiefen Einblick darin, wie dieser Aufruf eigentlich funktioniert.


Je nachdem wen man fragt, dürfte man andere Antworten auf die Frage bekommen: „Was passiert, wenn ich google.com im Browser aufrufe?“. Der normale Nutzer wird einfach nur antworten dass dann die Google-Startseite angezeigt wird. Der Web-Entwickler wird wohl auch daran denken dass ein Google-Server kontaktiert wird und dieser die Webseite ausliefert, während der Browser-Entwickler vielleicht auch noch an die Aufgabe des Browsers denkt. Jetzt bekommen wir eine mehr als ausführliche Antwort auf diese Frage.

google.com screen

Auf GitHub gibt es seit einigen Monaten ein neues Dokument, dass es sich zum Ziel gesetzt hat, sehr genau zu erklären was beim Aufruf von google.com über den Browser eigentlich genau passiert. Dabei gibt es nicht nur technische Einblicke in den Aufbau der Verbindung und der Auslieferung der Webseite, sondern das ganze geht sehr viel tiefer. Noch bevor die erste Verbindung aufgebaut wird, gibt es 10 Schritte die lokal auf dem Computer und im Betriebssystem ausgeführt werden.

Es geht schon los mit dem Druck der g-Taste auf der Tastatur, was nicht nur eine ganze Reihe von Aktionen im Browser auslöst, sondern auch das Betriebssystem und die Tastatur zum arbeiten bringt. Es wird genau beschrieben wie der Tastendruck in einen Befehl an das Betriebssystem umgewandelt wird, das wiederum ein Event auslöst und diese Information an den Browser weitergibt, der mit diesem Tastendruck dann arbeiten kann.

Das ganze ist sehr locker geschrieben und ist sowohl für Laien als auch für Experten sehr interessant. Nehmt euch ruhig mal die 10-15 Minuten Zeit und lest durch, was so ein einfacher Aufruf für einen Rattenschwanz nach sich zieht.



Zur schnellen Übersicht, hier einmal die einzelnen Abschnitte des langen Textes:

  • The „g“ key is pressed
  • The „enter“ key bottoms out
  • Interrupt fires [NOT for USB keyboards]
  • (On Windows) A WM_KEYDOWN message is sent to the app
  • (On OS X) A KeyDown NSEvent is sent to the app
  • (On GNU/Linux) the Xorg server listens for keycodes
  • Parse URL
  • Is it a URL or a search term?
  • Convert non-ASCII Unicode characters in hostname
  • Check HSTS list
  • DNS lookup
  • ARP process
  • Opening of a socket
  • TLS handshake
  • HTTP protocol
  • HTTP Server Request Handle
  • Behind the scenes of the Browser
  • Browser
  • HTML parsing
  • CSS interpretation
  • Page Rendering
  • GPU Rendering
  • Window Server
  • Post-rendering and user-induced execution

Insgesamt besteht der Text aus 685 Zeilen mit knapp 31.000 Zeichen. Außerdem wird er ständig von immer neuen Autoren erweitert – mittlerweile gibt es schon 69 „Mitarbeiter“ an diesem Dokument. Es lohnt sich also vielleicht, immer wieder mal reinzuschauen und die nächsten Zwischenschritte zu lesen 😉

» Vollständiger Text: Das passiert, wenn du google.com aufrufst




Teile diesen Artikel:

Facebook twitter Pocket Pocket