Co się dzieje, gdy po wpisaniu adresu strony WWW wciśniemy przycisk enter? Co robi nasza przeglądarka i jak zachowuje się infrastruktura sieciowa? W jaki sposób znajdowana jest wybrana strona WWW? Czym konkretnie jest i jak odbywa się połączenie?
Jeśli szukacie informacji, jak to działa, to dobrze trafiliście. Spróbujemy odpowiedzieć na te pytania i dość ogólnie opisać temat, tak, by był przystępny dla każdego, zagłębiając się jedynie w najistotniejsze szczegóły techniczne.
W artykule najpierw przyjrzymy się dostrzegalnym i fizycznym elementom naszej infrastruktury sieciowej, a następnie omówimy, co się dzieje pod spodem.
Od czego zacząć?
Chciałbym przedstawić scenariusz, w którym korzystamy z komputera i ulubionej przeglądarki stron internetowych (np. Chrome). Dla uproszczenia pominiemy wątek smartfonów i danych pakietowych, gdzie wygląda to zupełnie inaczej ze względu na zaangażowanie infrastruktury teleinformatycznej.
Standardowo, podpisujemy umowę z jakimś dostawcą usług sieciowych np. Orange czy Toya. Zwykle po jej podpisaniu zjawia się u nas technik podłączający router. Montowane urządzenie pełni rolę jednocześnie routera i switcha, ale potocznie przyjęło się już, że mówimy na nie właśnie router. Sprawdźmy, na co pozwala i co dokładniej robi dla nas to urządzenie.
Czym jest switch?
Po pierwsze, zamontowane u nas urządzenie pełni rolę switcha. Switch, czyli przełącznik, historycznie jest następcą huba, do którego zwykło się wpinać komputery przewodem zwanym „skrętką”. Hub, popularny ponad 20 lat temu, to koncentrator, czyli „pudełko”, do którego mogliśmy podpiąć kilka(naście) komputerów i z niego wyprowadzić już jednym przewodem połączenie do routera. Switch jest więc takim bardziej zaawansowanym hubem. Widzi on adresy MAC wpiętych do niego urządzeń.
Adres MAC to adres fizyczny nadawany przez producenta (danej karty sieciowej) podczas produkcji. Na przykład adres 00:0A:E6:3E:FD:E1. Dla zainteresowanych – wszelakie adresy naszego urządzenia sieciowego możemy sprawdzić na komputerze z systemem Windows, uruchamiając Wiersz polecenia i wpisując w nim komendę ipconfig /all.
Skrętka – do czego służy?
Musimy jakoś połączyć nasz sprzęt z routerem. Rodzaj przewodu sygnałowego, zbudowanego z kilku par poskręcanych kabli w celu eliminacji zakłóceń, nazywamy potocznie skrętką. Tego typu przewód królował w naszych domach, zapewniając połączenie. Obecnie jest on w dużej mierze wyparty przez Wi-Fi, czyli standard radiowej sieci bezprzewodowej. Przewód pozostał tam, gdzie liczy się niezawodność, bezpieczeństwo i możliwość podpięcia dużej ilości urządzeń. Gdy już nasz komputer jest podłączony do routera w domu (lub switcha w większej organizacji), warto zastanowić się, co jeszcze robi to urządzenie.
Router i jego funkcje
Kolejną funkcją routera, czyli po naszemu „trasownika”, jest wyznaczanie trasy, a więc określenie, jaką drogą i pod jaki adres mają trafiać pakiety danych. Przypominam – właśnie dwa takie pudełka (router i switch) mamy zamknięte w dostarczonym przez dostawcę internetowego urządzeniu, na które w domu mówi się router.
Na tym zagadnieniu kończymy zapoznanie się z elementami fizycznymi naszej infrastruktury sieciowej i wyposażeni w tę wiedzę możemy omówić szczegóły jej działania.
Jak wyznaczana jest trasa?
Wyznaczanie trasy to, na tle poprzednich opisów, trochę bardziej skomplikowane zagadnienie. Przybliżę je w wielkim skrócie. W globalnej sieci mamy mnóstwo różnych urządzeń, a więc routerów itd. Tworzą one tzw. tablicę routingu. Urządzenia w sieci identyfikuje m.in. adres IP. Każdy nowy router dostaje informacje od tych już działających o tym, gdzie znajduje się dany adres IP i jak tam trafić. Upraszczając, od naszego komputera z przeglądarką do serwisu wyświetlającego interesujące nas zasoby mamy zwykle długą trasę, którą urządzenia muszą wyznaczać.
DNS – tłumaczenie adresu strony WWW na adres IP
Gdy podłączamy nasz komputer do routera, komputer dostaje m.in. informację o czymś bardzo ważnym, czyli DNS. DNS to usługa, która tłumaczy nazwę strony na adres IP – np. WordPress ma stałe IP 192.0.78.12. DNS nie jest niczym skomplikowanym – każdy może sobie zainstalować i skonfigurować go w domu. Jest to jedno z zadań dla studentów informatyki. Komputer będzie łączył się z serwerem DNS z prośbą o przetłumaczenie nazwy strony WWW na adres IP.
Skąd nasz komputer dostaje adres IP? Trochę analogicznie jak z DNS. Istnieje protokół komunikacyjny DHCP umożliwiający hostom (komputerom itd.) uzyskanie danych konfiguracyjnych, np.:
- adresu IP,
- adresu IP bramy sieciowej,
- adresu serwera DNS.
Podsumowując, my jako użytkownicy posługujemy się zazwyczaj konkretnymi i rozpoznawalnymi przez nas nazwami stron WWW, a komputer z pomocą serwera DNS, musi przetłumaczyć je na numeryczne adresy IP, następnie router wyznacza trasę do miejsca, gdzie potocznie mówiąc „stoi” poszukiwana przez nas strona lub aplikacja.
W tym miejscu zachęcam do prześledzenia kolejnych kroków na załączonej poniżej ilustracji.
Mamy już pewną wiedzę o elementach infrastruktury sieciowej i o tym, co się dzieje, gdy się do niej podłączamy. Jesteśmy więc gotowi, by zastanowić się nad wyszukiwaniem i działaniem stron internetowych.
Każda strona internetowa działa na tzw. serwerze, czyli na odpowiednio wydajnej i skonfigurowanej w tym celu maszynie. Gdy wybieramy interesującą nas stronę, przeglądarka, która jest zwana klientem HTTP, wykorzystuje adres takiego serwera, z prośbą o zasoby, które on udostępnia.
Czym jest HTTP?
Protokół to ustandaryzowany zbiór informacji o tym, jak coś powinno działać. HTTP (ang. Hypertext Transfer Protocol) to protokół, który standaryzuje zachowanie stron WWW i określa to, jak mają być wysyłane informacje – wiadomości.
Każda wiadomość ma nagłówek, który zawiera m.in.:
- wersję protokołu,
- metodę HTTP,
- host,
- nazwę aplikacji klienckiej,
- preferowany język strony,
- kodowanie znaków itd.
Wykorzystywaną metodą w przypadku naszego scenariusza jest GET, służąca do pobierania zasobów. Nasza przeglądarka prosi więc o pewne zasoby tekstowe zewnętrzny serwis, działający na jakimś serwerze.
Co robi serwer? Socket (IP + port)
Serwer tworzy tzw. socket (na podstawie adresu IP i portu), przetwarza zapytanie, czyli wiadomość-prośbę od przeglądarki. Jeśli wszystko jest OK, zwraca stronę zakodowaną w odpowiednim formacie, a zadaniem naszej przeglądarki jest przetworzenie tego tekstu i jego wyświetlenie. W przypadku problemów może być zwrócony kod błędu, np. 404 „not found”. Przeglądarka przetwarza otrzymany tekst i wyświetla zawartość strony 🙂
Podsumowanie
W artykule przedstawiłem w dużym skrócie i uproszczeniu drogę od wpisania adresu WWW w przeglądarce do wyszukania strony. Dajcie znać, czy Wam się podobało. Być może macie rodziców, albo młodsze rodzeństwo, które chciałoby się dowiedzieć, jak to działa. Zachęcam do polecenia im tego materiału, gdyż – mam nadzieję – udało mi się zwięźle i przystępnie przybliżyć temat 😊
***
Jeśli ciekawi Was tematyka testowania serwisów HTTP, polecamy inne artykuły naszych ekspertów, m.in.:
Zostaw komentarz