Sobes.tech
Middle

Wie wird eine Webseite geladen?

sobes.tech KI

Antwort von AI

  1. Der Benutzer gibt eine URL in die Adressleiste des Browsers ein oder klickt auf einen Link.
  2. URL-Parsing: Der Browser analysiert die URL, um das Protokoll, die Domäne, den Port und den Pfad zu bestimmen.
  3. Suche nach IP-Adresse: Der Browser überprüft den DNS-Cache, dann den Cache des Betriebssystems, dann den Cache des Routers. Wenn die Adresse nicht lokal gefunden wird, wird eine Anfrage an den DNS-Server gesendet, um die IP-Adresse des Domainnamens zu erhalten.
  4. Herstellung der TCP-Verbindung (Handshake): Der Browser stellt eine TCP-Verbindung mit dem Server her, indem er die erhaltene IP-Adresse verwendet (Drei-Wege-Handshake: SYN -> SYN-ACK -> ACK).
  5. Senden der HTTP-Anfrage: Der Browser sendet eine HTTP-Anfrage (meist GET) an den Server mit Angabe der benötigten Ressource (Pfad), Headern (User-Agent, Accept-Encoding, Cookie usw.) und dem Anfragetext (falls vorhanden).
    GET /index.html HTTP/1.1  
    Host: example.com  
    User-Agent: Mozilla/5.0 ...  
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8  
    
  6. Verarbeitung der Anfrage durch den Server: Der Server erhält die Anfrage, verarbeitet sie (z.B. führt serverseitige Skripte aus) und erstellt eine HTTP-Antwort.
  7. Senden der HTTP-Antwort: Der Server schickt die HTTP-Antwort zurück an den Browser. Die Antwort enthält den Statuscode (z.B. 200 OK), Header (Content-Type, Content-Length, Cache-Control usw.) und den Antwortkörper (Inhalt der angeforderten Ressource, z.B. HTML-Datei).
    HTTP/1.1 200 OK  
    Content-Type: text/html; charset=UTF-8  
    Content-Length: 12345  
    Cache-Control: max-age=3600  
    
    <!DOCTYPE html>  
    <html>  
    <head>...</head>  
    <body>...</body>  
    </html>  
    
  8. HTML-Parsing und DOM-Erstellung: Der Browser beginnt, den HTML-Code zu empfangen und zu analysieren, und erstellt ein Dokumentenobjektmodell (DOM - Document Object Model) im Speicher. Das DOM stellt einen Baum von HTML-Elementen dar.
  9. Laden und Verarbeitung von Ressourcen: Während des HTML-Parsings findet der Browser Links zu anderen Ressourcen (CSS, JavaScript, Bilder, Schriftarten usw.). Für jede Ressource werden die Schritte 3-7 wiederholt (IP-Suche, TCP-Verbindung (falls nötig), HTTP-Anfrage/-Antwort). Das Laden dieser Ressourcen kann parallel erfolgen (begrenzt durch die Anzahl gleichzeitiger Verbindungen).
  10. Erstellung des CSSOM: Der Browser analysiert CSS-Dateien und <style>-Blöcke im HTML und erstellt ein CSS-Objektmodell (CSSOM - CSS Object Model). Das CSSOM repräsentiert die auf die Elemente der Seite anwendbaren Stile.
  11. Erstellung des Renderbaums: Der Browser kombiniert DOM und CSSOM, um den Renderbaum zu erstellen. Der Renderbaum enthält nur sichtbare Elemente der Seite und deren Stile. Elemente mit display: none werden nicht eingeschlossen.
  12. Layout (Reflow): Der Browser berechnet die genauen Positionen und Größen jedes Elements im Layout basierend auf dem Renderbaum, den Ansichtsfenstergrößen und den Stilen.
  13. Painting (Repaint): Der Browser zeichnet jedes Element auf dem Bildschirm an den berechneten Positionen mit den angewendeten Stilen. Dies geschieht auf Layern.
  14. Komposition: Der Browser kombiniert die gezeichneten Layer zu dem endgültigen Bild, das auf dem Bildschirm des Nutzers angezeigt wird.
  15. Ausführung von JavaScript: Während des Ladens und Parsens der Skripte wird der JavaScript-Code ausgeführt. Die Ausführung von JavaScript kann den DOM und das CSSOM beeinflussen und wiederholte Schritte von Layout und Painting auslösen (Reflow/Repaint).

Schlüsselschritte zur Anzeige des Inhalts:

  • DOMContentLoaded: Das Ereignis wird ausgelöst, wenn der Browser das HTML-Dokument vollständig geladen und geparst hat und den DOM-Baum erstellt hat, aber auf das Laden von Stylesheets, Bildern und Subframes wartet.
  • Load: Das Ereignis wird ausgelöst, wenn die gesamte Seite, einschließlich Bilder, Skripte, Styles und anderer Ressourcen, vollständig geladen ist.