Der Webserver sendet nicht die gesamte Website, sondern die vom Browser angeforderten Dokumente.
Wenn Sie beispielsweise auf https://www.google.com/ zugreifen, fragt der Browser den Server nach dem Dokument ab https://www.google.com/
. Der Server verarbeitet die Anfrage und sendet HTML-Code zurück.
Dann prüft der Browser, was der Server gesendet hat. In diesem Fall handelt es sich um eine HTML-Webseite, die das Dokument analysiert und nach referenzierten Skripten, Stylesheets, Bildern, Schriftarten usw. sucht.
Zu diesem Zeitpunkt hat der Browser das Herunterladen des Dokuments abgeschlossen, hat jedoch noch keine referenzierten Dokumente heruntergeladen. Es kann sich dafür entscheiden oder diese überspringen. Normale Browser versuchen, alle Dokumente, auf die verwiesen wird, herunterzuladen, um eine optimale Anzeige zu erzielen. Wenn Sie über einen Werbeblocker (wie Adblock) oder ein Datenschutz-Plugin (Ghostery, NoScript) verfügen, werden möglicherweise auch einige Ressourcen blockiert.
Anschließend lädt der Browser die referenzierten Dokumente nacheinander herunter, wobei er den Server jedes Mal explizit nach einer einzelnen Ressource fragt. In unserem Google-Beispiel findet der Browser folgende Referenzen, um nur einige zu nennen:
(Die tatsächlichen Dateien können für verschiedene Benutzer, Browser und Sitzungen unterschiedlich sein und sich im Laufe der Zeit ändern.)
Textbasierte Browser laden keine Bilder, Flash-Dateien, HTML5-Videos usw. herunter, sodass weniger Daten heruntergeladen werden.
@ NathanOsman macht einen guten Punkt in Kommentaren: Manchmal sind kleine Bilder direkt in HTML-Dokumente eingebettet und in diesen Fällen kann das Herunterladen nicht vermieden werden. Dies ist ein weiterer Trick, mit dem die Anzahl der Anforderungen verringert wird. Sie sind jedoch sehr klein, da sonst der Aufwand für die Codierung von Binärdateien in base64 zu groß ist. Es gibt nur wenige solcher Bilder auf Google.com: ( Base64-codierte Größe / decodierte Größe )
- 19 × 11-Tastatursymbol (106 B / 76 B)
- 28 × 38 Mikrofonsymbol (334 B / 248 B)
- 1 × 1 px transparentes GIF (62 B / 43 B), das auf der Registerkarte " Ressourcen" von Chrome Dev Tools angezeigt wird, aber ich konnte es nicht in der Quelle finden - wahrscheinlich später mit JavaScript hinzugefügt
- 1 × 1 px beschädigte GIF-Datei, die zweimal angezeigt wird (34 B / 23 B). Ihr Zweck ist mir ein Rätsel.