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.

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
GO TO FULL VERSION