9.1

Jesteś już dobrze zaznajomiony z protokołem http. Ale najprawdopodobniej nie wiesz, że istnieją już trzy wersje takich protokołów. Jako przyszły programista Java powinieneś chociaż raz zapoznać się z tym przypadkiem.

Poniżej opowiem, jakie są rodzaje protokołów i jakie są ich cechy. W międzyczasie, oto obrazek dla ciebie - studiuj.

protokoły HTTP

9.2 https

Zacznijmy od pierwszej modyfikacji protokołu http – protokołu https . To jest ten sam http, ale dodano do niego szyfrowanie treści. W końcu żądania i odpowiedzi HTTP to zwykłe pliki tekstowe. Prawdopodobnie nie chciałbyś, aby wszystko, co Twoja przeglądarka wysyła i odbiera, przechodziło przez Internet w sposób wyraźny.

Aby rozwiązać ten problem, wynaleziono protokół https ( http+security ) . Podczas próby wysłania zapytania przy użyciu protokołu https przeglądarka najpierw nawiązuje połączenie z wymaganym serwerem i prosi go o certyfikat SSL.

Następnie ten certyfikat jest sprawdzany pod kątem autentyczności: zawiera nazwę domeny i listę kluczy publicznych osób, które wystawiły ten certyfikat serwerowi.

Jeśli certyfikat jest autentyczny, przeglądarka nawiązuje szyfrowane połączenie z tym serwerem. I już w ramach tego połączenia dane przesyłane są protokołem http.

A ponieważ informacje o żądanym zasobie są przesyłane w samym protokole, podczas korzystania z protokołu https nikt nie może przechwycić informacji o zasobach serwera, do których przeglądarka uzyskała dostęp.

Obecnie protokół ten stał się de facto standardem i prawie wyparł stary, dobry http.

Jeśli ktoś spróbuje zmienić serwer, do którego wysyłasz żądanie https, to nie będzie mógł zmienić certyfikatu domeny. Przeglądarka to zrozumie i zobaczysz taką stronę:

9.3 http/2

Ale na tym świecie nie ma nic, czego nie można ulepszyć. Po tym, jak Google wygrało wojnę przeglądarek , postanowiło przejąć dla siebie cały Internet. I oczywiście w szczytnym celu. Postanowili ulepszyć protokół http.

Nie prędzej powiedziane niż zrobione. Dodano do nowego standardu przesyłania danych:

  • Obowiązkowe szyfrowanie.
  • Kompresja danych w nagłówkach HTTP.
  • Serwer może wysyłać pliki jeszcze zanim zostaną one zażądane (technologia push).
  • W jednym połączeniu TCP może być wiele żądań HTTP.
  • Żądania są przetwarzane jak potok (nie trzeba czekać na odpowiedź, aby wysłać nowe żądanie).
  • Protokół jest binarny (nie ma potrzeby tłumaczenia znaków niedrukowalnych na tekst).

Wiele z tego jest ukrytych przed programistą Java i utrzymywanych na poziomie serwera WWW i przeglądarki.

9.4 http/3

Trzecia wersja protokołu http jest wciąż finalizowana, a jej największą innowacją jest odrzucenie protokołu TCP. Dane zostaną natychmiast przesłane przez UDP.

Lubię to. Ludzie wymyślili model OSI, wymyślili go i oto proszę. Czego nie robić dla szybkości. Z drugiej strony może mieć rację. Dzisiaj w Internecie transmitowanych jest wiele strumieni wideo, a sam Bóg nakazał tam używać UDP.

Och, z urokami tego protokołu, już będziesz grał. Ja swój już skończyłem :)

Możesz przeczytać więcej o http/3