Rozdział 22 · Tworzenie stron internetowych z Python

Jak przeglądarka pobiera stronę internetową

Od naciśnięcia Enter w pasku adresowym do ukończonej strony na ekranie, ścieżka pojedynczego żądania.

Rozdział 22.1 pokazała szerszy obraz: przeglądarka wysyła żądanie, serwer odpowiada. Teraz Rozłóżmy tę ścieżkę krok po kroku — co dokładnie dzieje się między naciśnięciem Enter w adresie i strona pojawia się na ekranie.

URL
adres w pasku przeglądarki
DNS
domena → adres IP-
Powiązania
przeglądarka komunikuje się z serwerem przez IP
HTTP-żądanie
przeglądarka wysyła żądanie
Aplikacja
serwer przygotowuje odpowiedź
HTTP- odpowiedź
odpowiedź wraca do przeglądarki
Renderowanie
przeglądarka pokazuje stronę
Ścieżka od paska adresowego do gotowej strony na ekranie

DNS: jako nazwa domeny wiąże się z adresami sieciowymi

Domain wydaje się być python.org wygodne dla ludzi, ale komputery są w Internet znajduje się nawzajem za pomocą numerów IP-adresy. Usługa DNS (Domain Name System — system nazw domen) przechowuje odpowiedniki między domenami a zapisami, które pomagają znaleźć odpowiedni serwer, i zamienia domenę w IP-adres, zanim przeglądarka będzie mogła wysłać żądanie.

Jeden domena — niekoniecznie jeden stały IP-adres
W przypadku dużych lokalizacji ta sama domena może faktycznie odpowiadać różnymi adresami IP- w różnych momentach lub regionach — na przykład, aby rozłożyć obciążenie na wiele serwerów lub przyspieszyć dostarczanie danych użytkownikom w różnych częściach świata. Model „jedna domena, dokładnie jeden serwer na zawsze”

Połączenie i zapytanie

Po otrzymaniu adresu IP- przeglądarka nawiązuje połączenie z serwerem i wysyła HTTP-żądanie jego struktura jest szczegółowo omówiona w Sekcji 22.9. Serwer (w naszym przypadku aplikacja na Flask) przetwarza żądanie i wysyła je HTTP- odpowiedź: Zazwyczaj HTML- strona, ale czasem dane w JSON formacie (Rozdział 22.15), obraz lub plik.

Renderowanie

Po otrzymaniu odpowiedzi przeglądarka analizuje HTML i buduje z niej drzewo DOM (Rozdział 22.4). Jako analizując analizę, znajduje odniesienia do CSS i JavaScript i zadaje im osobne HTTP- zapytania (Rozdział 22.14); strona może być aktualizowana stopniowo, jako Zdobądź potrzebne dane, nie tylko po załadowaniu wszystkiego.

Celowo nie analizujemy TCP/IP na poziomie pakietu
W połączeniu między przeglądarką a serwerem istnieją głębsze poziomy techniczne — dzielenie danych na pakiety, potwierdzenie dostarczenia i tak dalej. Na potrzeby tworzenia stron internetowych na poziomie tego rozdziału wystarczy model mentalny „przeglądarka wysyła żądanie — serwer odpowiada”; protokoły sieciowe tego poziomu to temat osobnego kursu.