HTTP/2.0

W maju 2015 roku została przedstawiona oficjalna wersja dokumentu RFC-7540, która opisuje specyfikacje protokołu HTTP/2.0. Co to znaczy dla zwykłych użytkowników internetu? W skrócie przyspieszenie ładowania stron internetowych oraz zwiększenie bezpieczeństwa.

Sam protokół HTTP (ang. Hypertext Transfer Protocol) pierwszy raz został oficjalnie opisany w 1996 roku, który to dla niektórych osób może się wydać niezbyt odległą datą, jednak z punktu widzenia historii internetu jest to naprawdę odległy okres. W międzyczasie (rok 1997) ostało wydana jego rozszerzona wersja HTTP/1.1, jednak pomijając ostatnie aktualizacje z 1999 roku, jakakolwiek inna zmiana nie została już wprowadzona.

Pierwsze próby wdrożenia nowych funkcjonalności na których bazuje HTTP/2.0 były realizowane przez Google wraz w zaprezentowanym przez niego eksperymentalnym protokołem SPDY ("speedy"). Wraz z pierwszymi informacjami o wydaniu najnowszej wersji protokołu HTTP/2.0 Google poinformowało, że dalszy rozwój nad ich wersją zostanie wstrzymany, a z rokiem 2016 wsparcie całkowicie porzucone.

Najważniejszą zaletą jaką wnosi ze sobą najnowsza wersja jest prędkość.

Pierwszym źródłem dużego przyspieszenia jest multiplexing, czyli wysyłanie wielu zapytań HTTP w ramach jednego połączenia z serwerem. Aktualnie strony WWW posiadają wiele treści, które muszą być dodatkowo pobierane w celu poprawnego ich wyświetlenia. Z reguły jest to treść "statyczna", która nie ulega zmianie. Do tej pory korzystając z protokołu HTTP w wersji 1.1, który pozwalał na pipelining (wiele zapytań w ramach jednego połączenia TCP), wszystkie zapytania były kolejkowane. Po wydaniu zapytania przeglądarka oczekiwała, aż serwer zwróci odpowiedź na jej zapytanie, a dopiero po tym mogła wydać kolejne.

Dzięki temu, że protokół HTTP/2 jest binarny i wykorzystaniu ramek (dane podzielone na małe części), klient nie musi oczekiwać na odpowiedź serwera, a dodatkowo jego odpowiedzi nie muszą być przesyłane w tej samej kolejności co zapytania. W rezultacie daje to niesamowity wzrost na wydajności ładowania się stron WWW szczególnie, gdy klient korzysta z łącza posiadającego duże opóźnienia, co często występuje w sieciach mobilnych (komórkowych).

Kolejną zaletą HTTP/2 jest kompresja danych. Wraz z wersją protokołu 1.1 została wprowadzona możliwość kompresji, jednak dotyczyła ona wyłącznie samej treści. Wyobraźmy sobie teraz, że obecne strony posiadają od kilku od kilkudziesięciu odwołań do dodatkowych treści w postaci plików graficznych, JS lub CSS. Każde takie zapytanie jak i odpowiedź niesie ze sobą sporą ilość danych w nagłówkach. Pomijając już takie pola jak Content-Type, czy Referer, jest oczywiście Cookie, które to niektóre strony potrafią szczególnie nadużywać. Wraz z najnowszą wersją możliwe jest dodatkowo kompresowanie samych nagłówków zapytań i odpowiedzi HTTP, co w znacznym stopniu może obniżyć ilość danych przesyłanych pomiędzy klientem a serwerem.

Warto pamiętać, że wraz z wprowadzeniem obsługi HTTP/2 przez Grey Wizard, nawet klienci których serwery nie zostały dostosowane do najnowszego standardu mogą skorzystać z jego zalet. Dzięki połączeniu funkcjonalności HTTP/2 oraz Static Cache nawet 80% komunikacji z przeglądarką może się odbyć w pełni wykorzystując zarówno kompresję nagłówków jak i multiplexing, co w znacznym stopniu poprawi prędkość ładowania stron chronionych przez naszą firmę.

Usługa HTTP/2.0 wkrótce zostanie udostępniona wszystkim naszym klientom, jednak już dziś zapraszamy na testy zainteresowane osoby.

Brak komentarzy :

Prześlij komentarz