Czy ktoś może mi powiedzieć, co się dzieje za kulisami, od momentu wpisania adresu URL w przeglądarce do momentu wyświetlenia strony w przeglądarce? Bardzo pomocna byłaby szczegółowa relacja z tego procesu.
Czy ktoś może mi powiedzieć, co się dzieje za kulisami, od momentu wpisania adresu URL w przeglądarce do momentu wyświetlenia strony w przeglądarce? Bardzo pomocna byłaby szczegółowa relacja z tego procesu.
Odpowiedzi:
Uwaga: jest to bardzo szorstki i nadmiernie uproszczony szkic, zakładający najprostsze możliwe żądanie HTTP (bez HTTPS, bez HTTP2, bez dodatków), najprostszy możliwy DNS, bez serwerów proxy, pojedynczy stos IPv4, tylko jedno żądanie HTTP, prosty serwer HTTP na drugi koniec i żadnych problemów na żadnym etapie. Jest to, dla większości współczesnych zamiarów i celów, nierealny scenariusz; wszystkie z nich są znacznie bardziej złożone w rzeczywistości, a stos technologii stał się o rząd wielkości bardziej skomplikowany, odkąd zostało to napisane. Mając to na uwadze, następująca oś czasu jest nadal nieco poprawna:
Ponownie dyskusja na temat każdego z tych punktów wypełniła niezliczone strony; traktuj to jedynie jako streszczenie, skrócone dla zachowania przejrzystości. Równolegle dzieje się wiele innych rzeczy (przetwarzanie wpisanego adresu, spekulacyjne pobieranie wstępne, dodawanie strony do historii przeglądarki, wyświetlanie postępów użytkownikowi, powiadamianie o wtyczkach i rozszerzeniach, renderowanie strony podczas pobierania, potokowanie, śledzenie połączeń dla utrzymywanie przy życiu, zarządzanie plikami cookie, sprawdzanie złośliwej zawartości itp.) - a cała operacja staje się o rząd wielkości bardziej złożona dzięki HTTPS (certyfikaty, szyfry i przypinanie, o mój!).
Najpierw komputer wyszukuje hosta docelowego. Jeśli istnieje w lokalnej pamięci podręcznej DNS, wykorzystuje te informacje. W przeciwnym razie zapytania DNS są wykonywane do momentu znalezienia adresu IP.
Następnie przeglądarka otwiera połączenie TCP z hostem docelowym i wysyła żądanie zgodnie z HTTP 1.1 (lub może używać HTTP 1.0, ale normalne przeglądarki już tego nie robią).
Serwer wyszukuje wymagany zasób (jeśli istnieje) i odpowiada za pomocą protokołu HTTP, wysyła dane do klienta (= przeglądarki)
Przeglądarka używa następnie parsera HTML do odtworzenia struktury dokumentu, która jest następnie prezentowana na ekranie. Jeśli znajdzie odniesienia do zasobów zewnętrznych, takich jak obrazy, pliki css, pliki javascript, są one dostarczane w taki sam sposób, jak sam dokument HTML.
Sprawdź specyfikację HTTP. Lub, aby rozpocząć, spróbuj http://www.jmarshall.com/easy/http/