„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was passiert, wenn Sie „google.com“ eingeben?

Was passiert, wenn Sie „google.com“ eingeben?

Veröffentlicht am 04.11.2024
Durchsuche:809

What Happens When You Enter

Haben Sie sich jemals über die komplexe Abfolge von Ereignissen gewundert, die im Bruchteil einer Sekunde zwischen der Eingabe von „google.com“ in Ihren Browser und dem Erscheinen der vertrauten Suchseite ablaufen? In dieser detaillierten Erkundung entdecken wir die faszinierende Welt der Web-Technologien, Netzwerkprotokolle und den komplexen Datentanz, der unsere Online-Erlebnisse ermöglicht.

1. Die Reise beginnt: Ihr Browser und Ihr Betriebssystem

1.1 Erste Schritte des Browsers

Wenn Sie „google.com“ eingeben und die Eingabetaste drücken, wird Ihr Browser aktiv:

  1. URL-Parsing: Der Browser analysiert zunächst die von Ihnen eingegebene URL. Es identifiziert das Protokoll (in diesem Fall impliziert „http://“ oder „https://“), den Domainnamen („google.com“) und alle zusätzlichen Pfad- oder Abfrageparameter (in diesem einfachen Beispiel keine). .

  2. HSTS-Prüfung: Bei sicherheitsbewussten Websites wie Google überprüft der Browser seine HTTP Strict Transport Security (HSTS)-Liste. Wenn google.com auf dieser Liste steht (was der Fall ist), aktualisiert der Browser die Anfrage automatisch auf HTTPS.

  3. Cache-Prüfung: Bevor der Browser Kontakt zum Netzwerk aufnimmt, überprüft er seinen lokalen Cache. In diesem Cache werden Informationen von früheren Besuchen gespeichert, darunter:

    • DNS-Cache: Die mit google.com verknüpfte IP-Adresse
    • Ressourcencache: HTML-, CSS-, JavaScript-Dateien und Bilder von der Google-Homepage

Wenn einer dieser Schritte gefunden wird und noch gültig (nicht abgelaufen) ist, kann der Browser einige der folgenden Schritte überspringen.

1.2 Rolle des Betriebssystems

Wenn der Browser die erforderlichen Informationen nicht in seinem Cache finden kann, wendet er sich an das Betriebssystem (OS) um Hilfe:

  1. Hosts-Dateiprüfung: Das Betriebssystem sucht zuerst in der lokalen „Hosts“-Datei. Diese Datei kann Domänennamen IP-Adressen zuordnen und so möglicherweise die DNS-Suche umgehen. Für die meisten Nutzer wird google.com jedoch nicht in dieser Datei enthalten sein.

  2. DNS-Client-Cache: Das Betriebssystem verwaltet seinen eigenen DNS-Cache, getrennt vom Browser. Als nächstes wird hier geprüft.

  3. Resolver-Konfiguration: Wenn sich die IP nicht im lokalen Cache befindet, bereitet sich das Betriebssystem darauf vor, einen DNS-Server anzufragen. Es liest seine Netzwerkkonfiguration, um herauszufinden, welcher DNS-Server abgefragt werden soll (normalerweise von Ihrem Internetdienstanbieter bereitgestellt oder manuell festgelegt).

2. DNS-Auflösung: Finden der Google-Adresse

Wenn die IP-Adresse für google.com nicht zwischengespeichert wird, müssen wir das Domain Name System (DNS) bitten, das für Menschen lesbare „google.com“ in eine maschinenverwendbare IP-Adresse zu übersetzen.

2.1 Die DNS-Hierarchie

DNS ist in einer hierarchischen Struktur organisiert:

  1. Root-Server: An der Spitze der Hierarchie. Sie wissen, wo sich die maßgeblichen Server für Top-Level-Domains (TLDs) wie .com, .org, .net usw. befinden.

  2. TLD-Server: Diese Server kennen alle Domains, die unter ihrer TLD registriert sind. Der .com-TLD-Server kennt google.com.

  3. Authoritative Nameserver: Diese sind dafür verantwortlich, alles über eine bestimmte Domain zu wissen, einschließlich ihrer IP-Adresse(n).

2.2 Der DNS-Abfrageprozess

  1. Rekursiver Resolver: Der DNS-Server Ihres Internetdienstanbieters (oder ein anderer konfigurierter Resolver) empfängt die Abfrage für google.com. Wenn die Antwort nicht zwischengespeichert ist, wird ein rekursiver Prozess gestartet:
  • Es fragt einen Root-Server nach .com
  • Der Root-Server verweist auf einen .com-TLD-Server
  • Es fragt den .com-TLD-Server nach google.com
  • Der .com-Server verweist es auf die maßgeblichen Nameserver von Google
  • Es fragt den Nameserver von Google nach der IP von google.com
  • Der Nameserver von Google antwortet mit der IP-Adresse
  1. Caching: Jeder Schritt in diesem Prozess kann Caching beinhalten, sodass nicht immer der gesamte Prozess erforderlich ist. Der Resolver speichert das Endergebnis im Cache, normalerweise für eine von Google angegebene Zeit (Time To Live oder TTL).

  2. Lastausgleich: Große Dienste wie Google geben oft mehrere IP-Adressen zurück. Dies ermöglicht einen Lastausgleich und eine verbesserte Zuverlässigkeit.

2.3 Beispiel für eine DNS-Suche

Angenommen, die DNS-Suche gibt das folgende (vereinfachte) Ergebnis zurück:

google.com.     300    IN    A     172.217.167.78

Das heisst:

  • Die Domain ist google.com
  • Der Datensatz hat eine TTL von 300 Sekunden (5 Minuten)
  • Es handelt sich um einen Internet (IN)-Eintrag
  • Es handelt sich um einen Adressdatensatztyp (A)
  • Die IP-Adresse ist 172.217.167.78

3. Verbindungsaufbau: TCP/IP

Da wir nun die IP-Adresse von Google haben, ist es an der Zeit, eine Verbindung herzustellen.

3.1 Der TCP/IP-Stack

  1. Anwendungsschicht: Ihr Browser arbeitet hier und verwendet HTTP(S) zur Kommunikation.

  2. Transportschicht: TCP wird hier verwendet, um eine zuverlässige, geordnete Lieferung von Daten sicherzustellen.

  3. Internetschicht: IP wird zum Weiterleiten von Paketen zwischen Netzwerken verwendet.

  4. Verbindungsschicht: Diese übernimmt die physische Übertragung von Daten, sei es über Ethernet, WLAN, Mobilfunknetze usw.

3.2 Der TCP-Handshake

Um eine Verbindung herzustellen, erfolgt ein Drei-Wege-Handshake:

  1. SYN: Ihr Computer sendet ein SYN-Paket (Synchronisierungspaket) an den Google-Server.
  2. SYN-ACK: Der Google-Server antwortet mit einem SYN-ACK-Paket.
  3. ACK: Ihr Computer sendet ein ACK-Paket (Bestätigung) zurück.

Dieser Prozess legt Sequenznummern für die Konversation fest und stellt sicher, dass Pakete ordnungsgemäß geordnet werden können und alle verlorenen Pakete erkannt und erneut übertragen werden können.

3.3 TLS-Handshake

Bei HTTPS-Verbindungen (die Google verwendet) erfolgt ein zusätzlicher TLS-Handshake (Transport Layer Security):

  1. Client Hallo: Ihr Browser sendet unterstützte SSL/TLS-Versionen, Cipher Suites und eine Zufallszahl.
  2. Hallo Server: Der Server wählt die SSL/TLS-Version und die Verschlüsselungssuite aus, sendet sein Zertifikat und eine weitere Zufallszahl.
  3. Authentifizierung: Ihr Browser überprüft das Zertifikat des Servers bei einer vertrauenswürdigen Zertifizierungsstelle.
  4. Schlüsselaustausch: Zur Verschlüsselung der Sitzung wird ein sicherer symmetrischer Schlüssel eingerichtet.

4. HTTP-Anfrage: Nach der Seite fragen

Wenn eine sichere Verbindung hergestellt ist, sendet Ihr Browser eine HTTP-GET-Anfrage für die Google-Startseite.

4.1 Beispiel einer HTTP-Anfrage

GET / HTTP/2
Host: www.google.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Accept: text/html,application/xhtml xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Upgrade-Insecure-Requests: 1

Diese Anfrage beinhaltet:

  • Die Methode (GET) und der Pfad (/), die wir anfordern
  • Die HTTP-Version (HTTP/2)*
  • Verschiedene Header mit Informationen über den Browser und seine Funktionen *Hinweis: HTTP/2 bezieht sich nur auf HTTPS, nicht auf die http-Verbindung. Diese Anfrage wird über eine bereits bestehende HTTPS-Verbindung gesendet, auch wenn HTTPS in den Headern nicht explizit erwähnt wird.

5. Serververarbeitung: Google antwortet

Die Server von Google empfangen diese Anfrage und verarbeiten sie. Dies könnte Folgendes beinhalten:

  1. Lastausgleich: Die Anforderung auf viele Server verteilen.
  2. Anwendungsserver: Code ausführen, um eine Antwort zu generieren.
  3. Datenbankabfragen: Abrufen personalisierter Daten oder Suchvorschläge.
  4. Caching: Vorgenerierte Inhalte nach Möglichkeit abrufen.

6. HTTP-Antwort: Senden der Seite

Der Server von Google sendet eine HTTP-Antwort zurück, die etwa so aussehen könnte:

HTTP/2 200 OK
Content-Type: text/html; charset=UTF-8
Date: Sat, 21 Sep 2024 12:00:00 GMT
Expires: Sat, 21 Sep 2024 12:00:00 GMT
Cache-Control: private, max-age=0
Server: gws
X-XSS-Protection: 0
X-Frame-Options: SAMEORIGIN
[... other headers ...]



  
    
    Google
    [... rest of the HTML ...]
  
  
    [... body content ...]
  

Diese Antwort enthält:

  • Statuscode (200 OK)
  • Verschiedene Header mit Metadaten zur Antwort
  • Der HTML-Inhalt der Seite

7. Rendering: Die Seite zum Leben erwecken

Ihr Browser verfügt nun über den HTML-Inhalt und beginnt mit der Darstellung der Seite:

  1. HTML analysieren: Der Browser analysiert den HTML-Code und erstellt das Document Object Model (DOM).

  2. Zusätzliche Ressourcen anfordern: Wenn Links zu CSS, JavaScript, Bildern usw. gefunden werden, werden zusätzliche HTTP-Anfragen für diese Ressourcen gesendet.

  3. CSS analysieren: Der Browser analysiert CSS und wendet Stile auf die DOM-Elemente an, wodurch das CSS-Objektmodell (CSSOM) erstellt wird.

  4. JavaScript ausführen: Der Browser führt JavaScript aus, das DOM und CSSOM ändern kann.

  5. Rendering: Der Browser verwendet das endgültige DOM und CSSOM, um die Seite auf Ihrem Bildschirm zu rendern.

Abschluss

Was wie eine einfache Aktion aussieht – „google.com“ eingeben und die Eingabetaste drücken – umfasst in Wirklichkeit eine komplexe Reihe von Schritten, von DNS-Suchen und Netzwerkprotokollen bis hin zur serverseitigen Verarbeitung und clientseitigen Rendering. Dieser komplizierte Tanz findet in nur wenigen Millisekunden statt und zeigt die unglaubliche Technik, die unsere Online-Erlebnisse antreibt.

Das Verständnis dieser Prozesse befriedigt nicht nur unsere Neugier, sondern hilft auch Webentwicklern und IT-Experten dabei, Websites zu optimieren, Probleme zu beheben und effizientere und sicherere Webanwendungen zu erstellen. Wenn Sie das nächste Mal eine Website aufrufen, nehmen Sie sich einen Moment Zeit, um die technologischen Wunder zu bewundern, die hinter den Kulissen arbeiten, um das Web auf Ihren Bildschirm zu bringen!


Bilder in diesem Blog werden KI-generiert.

Lesen Sie auch HTTP vs. HTTPS, was der Unterschied zwischen ihnen ist

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/yashrajxdev/what-happens-when-you-enter-googlecom-a-deep-dive-into-the-internets-inner-workings-1aoi?1Falls vorhanden Verstoß, wenden Sie sich zum Löschen bitte an [email protected]
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3