Serwer WWW nie wysyła „całej witryny”, ale dokumenty żądane przez przeglądarki.
Na przykład, gdy uzyskasz dostęp do https://www.google.com/, przeglądarka zapyta o dokument https://www.google.com/
. Serwer przetwarza żądanie i odsyła trochę kodu HTML.
Następnie przeglądarka sprawdza, co serwer wysłał. W tym przypadku jest to strona HTML, więc analizuje dokument i wyszukuje skrypty, arkusze stylów, obrazy, czcionki itp.
Na tym etapie przeglądarka zakończyła pobieranie tego dokumentu, ale nadal nie pobrała dokumentów, do których istnieją odniesienia. Może to zrobić lub pominąć je. Zwykłe przeglądarki będą próbowały pobrać wszystkie dokumenty, do których istnieją odniesienia, w celu uzyskania najlepszej jakości oglądania. Jeśli masz bloker reklam (jak Adblock) lub wtyczkę prywatności (Ghostery, NoScript), może również blokować niektóre zasoby.
Następnie przeglądarka pobiera dokumenty referencyjne jeden po drugim, za każdym razem prosząc serwer wprost o pojedynczy zasób. W naszym przykładzie Google przeglądarka znajdzie następujące odniesienia, żeby wymienić tylko kilka z nich:
(rzeczywiste pliki mogą być różne dla różnych użytkowników, przeglądarek i sesji i mogą się zmieniać z czasem)
Przeglądarki tekstowe nie pobierają obrazów, plików Flash, filmów HTML5 itp., Więc pobierają mniej danych.
@NathanOsman ma rację w komentarzach: czasami małe obrazy są osadzane bezpośrednio w dokumentach HTML i w takich przypadkach nie można ich pobrać. To kolejna sztuczka używana do zmniejszenia liczby żądań. Są jednak bardzo małe, w przeciwnym razie narzut związany z kodowaniem pliku binarnego w base64 będzie zbyt duży. Na Google.com jest kilka takich obrazów: ( rozmiar zakodowany base64 / rozmiar zdekodowany )
- Ikona klawiatury 19 × 11 (106 B / 76 B)
- Ikona mikrofonu 28 × 38 (334 B / 248 B)
- 1 × 1 px przezroczysty GIF (62 B / 43 B), który pojawia się w zakładce Zasoby narzędzi deweloperskich Chrome , ale nie mogłem go znaleźć w źródle - prawdopodobnie dodany później z JavaScript
- Uszkodzony plik GIF 1 × 1 px, który pojawia się dwukrotnie (34 B / 23 B). Jego cel jest dla mnie tajemnicą.