HTTP to skrót od Hypertext Transfer Protocol. Jest to zestaw reguł używanych przy dostarczaniu stron internetowych z serwerów do Twojej przeglądarki. Protokół HTTPS oznacza, że te same protokoły są używane w warstwie szyfrowania, aby zapewnić lepszą prywatność.
Dla tych, którzy są zaznajomieni ze specyfikacją OSI (Open Systems Interconnections) w zakresie sieci i komunikacji, HTTP jest protokołem warstwy aplikacji. Co oznacza, że nie ma to nic wspólnego z podstawowymi strukturami sprzętowymi lub mediami. Dzięki temu możliwe jest ulepszanie i aktualizowanie specyfikacji HTTP wraz ze wzrostem przepustowości itp.
„HTTP jest protokołem klient-serwer: żądania wysyłane są przez jedną jednostkę, agent użytkownika (lub działającego w jego imieniu proxy). W większości przypadków agent użytkownika to przeglądarka internetowa, ale może to być wszystko, na przykład robot, który przeszukuje sieć w celu zapełnienia i utrzymania indeksu wyszukiwarki ”.
Klient w tej definicji to agent użytkownika. Może to być przeglądarka, program lub cokolwiek, co łączy się z serwerem przy użyciu protokołu HTTP. Serwer WWW dostarcza lub obsługuje żądane treści. Serwery proxy koordynują komunikację między serwerami WWW a agentami użytkownika.
Funkcjonalność serwerów proxy można podzielić w następujący sposób:
- Cache’owanie
- Filtrowanie (ukrywanie treści dla dorosłych lub blokowanie treści na podstawie regionu)
- Równoważenie obciążenia (bezpośrednie żądania do wolnych serwerów)
- Uwierzytelnianie (zezwalaj użytkownikom na komunikację z różnymi serwerami)
- Rejestrowanie (rejestrowanie HTTP jest wspólne dla wykrywania anomalii itp.)
W HTTP 1 lub (1.1) powyższe zadania odbywają się spokojnie. Jednak w 2009 roku zaczął pojawiać się nowszy protokół HTTP 2.
HTTP 2
Protokół HTTP 2 został przedstawiony w celu rozwiązania kilku ograniczeń, które napotkał protokół HTTP 1 wraz z rozwojem technologii sieciowych i przepustowości.
- Konieczność wykonania multipleksowania: umożliwia to jednoczesne żądania za pośrednictwem tego samego połączenia TCP. Pomaga w jednoczesnym ładowaniu zasobów.
- Zezwala przeglądarkom na ustalanie priorytetów, które treści mają być pobrane jako pierwsze, aby szybciej załadować stronę internetową lub w celu poprawy szybkości ładowania strony.
- Zmniejszenie wagi nagłówka HTTP.
- Serwer typu push, który umożliwia serwerom umieszczanie zasobów, zanim przeglądarki internetowe wypytają serwer o te zasoby. To sprawia, że obieg wykonywany w celu przeanalizowania HTML i ponownego pobrania zawartości w HTML jest znacznie krótszy.
Protokół HTTP 2 zapewnia szybsze i bezpieczniejsze (szyfrowanie HTTP jest wymuszane w protokole HTTP 2) korzystanie z Internetu. Możesz rzucić okiem na to demo od dostawcy chmury akamai.
HTTP 3 – nowy członek
Jest to protokół, który dopiero nadejdzie (w pewnym sensie). Jednak można zauważyć, że YouTube używa już protokołu HTTP 3 w przeglądarce Chrome. Skąd można się tego dowiedzieć? Ponieważ użyłem wtyczki do przeanalizowania protokołu HTTP (HTTP / 2 and SPDY indicator).
Co nowego?
Nowa specyfikacja zapewnia również szybsze, lepsze i bezpieczniejsze korzystanie z Internetu. Ale jak?
HTTP 3 ma na celu uproszczenie uzgadniania TCP (jest to uzgadnianie trójetapowe). Podsumowując, połączenia są ustanawiane szybciej przy użyciu protokołu QUIC, który również jest czymś nowym.
Ulepszone nawiązywanie połączenia zapewnia lepszą migrację połączenia, która ma miejsce między połączeniami Wi-Fi a sieciami komórkowymi itp. Pamiętaj, że nie jest to migracja połączenia, którą widzisz między routerami w tej samej sieci. Bardzo skomplikowane i wyrafinowane.
Wreszcie, QUIC próbuje również zaktualizować powolny start TCP, umożliwiając szybsze osiągnięcie wysokich prędkości. QUIC próbuje w tym celu zwiększyć wykładniczo okno zatoru. Będzie to ważne ulepszenie w przypadku, gdy korzystamy z Google Stadia lub strumieniowania wideo w rozdzielczości UHD i wyższej.
Może to być przydatne w przypadku korzystania z YouTube, gdzie korzystanie stanie się jeszcze szybsze, a odtwarzanie filmów w formacie HD nie będzie wymagało buforowania na samym początku, lecz nie pytajcie mnie o to. Kompletna specyfikacja może pojawi się pod koniec tego roku.
Anuradha Wickramarachchi – Pochodzę ze Sri Lanki, obecnie przygotowuję się do doktoratu na Australian National University studiując informatykę (sp. Bioinformatyka).