Aktualności

HTTP/2  –  szybszy protokół, szybszy “internet”

HTTP/2  –  szybszy protokół, szybszy “internet”

O coraz większej ilości serwisów WWW mówimy w kontekście aplikacji internetowych. Powód jest prozaiczny. Dostęp do internetu upowszechnił się do tego stopnia, że zaczynamy korzystać juz nie tyle ze stron, co z aplikacji, zamiast tych instalowanych metodą tradycyjną. Działamy w chmurze.

Pierwotnie serwisy www bazowały na protokole HTTP/1.1, który służy nam już od dobrych piętnastu lat i o ile nie można powiedzieć złego słowa na stabilność, to jego wiek zaczyna dawać się we znaki. Ładowanie się serwisów www oraz poszczególnych elementów jest spowolnione ponieważ bazuje na tradycyjnym odwołaniu TCP.

SPDY by Google

W Google w pewnym momencie zainteresowaną się tą kwestią, zwracając uwagę, że inny protokół, czy w zasadzie na ówczesnym etapie nakładka, mogłaby pomóc w optymalizacji i szybszej komunikacji. Tak przedstawiono światu protokół SPDY. Z uwagi na fakt, że był to jednak dodatek i wydajność była nieco wyższa, jednak nie tak wysoka jak powinna być gdyby było to rozwiazanie natywne zintegrowane wprost z serwerem.

Dlatego też SPDY z czasem został jako projekt porzucony na rzecz HTTP/2

1-li_hT2IQ-TUgKaMgGfzX-A

HTTP/2 okazał się przełomem

Odkąd zaadoptowany został protokół HTTP/1.1 w 1999 roku, niewiele się zmieniło.
Celem nowej wersji było obniżenie opóźnień zwłaszcza na etapie nawiązywania połączenia. Przechodząc jednak do rzeczy, czym charakteryzuje się HTTP/2?

  • wykorzystuje kompresję nagłówków — z uwagi na fakt, iż większość nowoczesnych serwisów składa się z wielu często niewielkich elementów, wywołanie i przesłanie nagłówków do klienta może powodować spore opóźnienia, głównie z faktu, że “nie mieściły się one” w małej ilości pakietów przesyłanych siecią.
  • wspiera PUSH, a więc podawanie informacji klientowi z wyprzedzeniem, co finalnie powoduje, że serwis nie tylko zyskuje aktualne treści, ale również ładuje się szybciej.
  • działa binarnie — w przeciwieństwie do czysto tekstowych odwołań na poziomie HTTP/1/1, odwołania w nowym protokole odbywają się w postaci binarnych pakietów
  • działa z wieloma wątkami co sprawia, że serwis może zostać załadowany podczas jednego odwołania, zamiast nawiązywania wielu połączeń, wykonując odwołania do poszczególnych elementów.
  • w przeciwieństwie do SPDY nie działa wyłącznie z użyciem SSL

Co to oznacza dla Ciebie?

Z uwagi na fakt, że protokół jest zgodny wstecz, Twój serwis nie wymaga wprowadzania żadnych modyfikacji, natomiast nowo tworzone serwisy www / aplikacje internetowe, możesz już tworzyć z myślą i wykorzystaniem nowych możliwości protokołu HTTP/2.

Metody stosowane dotąd jak chociażby pliki sprites (jeden plik zawierający np. kilkanaście ikon) stają się zbędne, przy czym należy pamiętać o użytkownikach starszych wersji przeglądarek, dla których zgodność z nowym protokołem nie jest w pełni zapewniona co powoduje większą ilość odwołań i niższą ocenę podczas przeprowadzanych testów. Na szczęście tego typu sytuacje już teraz występować mogą sporadycznie, ponieważ przeglądarki są aktualizowane i zyskują pełne wsparcie.

Obecnie zgodnie z badaniami, tylko 7.6% serwisów www wykorzystuje w pełni nowy protokół, w tym Google, Facebook, Youtube, Yahoo, Wikipedia, Instagram czy twitter. Jeśli zdecydujesz się na użycie nowych rozwiązań w pełni, możesz dołączyć do tego zaszczytnego grona, ale nawet jeśli nie zastosujesz ich na etapie budowania serwisu, na pewno zyska on na wydajności.

Dlaczego o tym wszystkim piszemy?

Na zenbox, domyślnie wspieramy HTTP/2.

Bez wtyczek, bez dodatków po stronie samego serwera. Rozwiązanie Litespeed, z którego korzystamy nie tylko jest najwydajniejszym dostępnym na rynku, ale również z najlepszym wsparciem nowych i sprawdzonych pod kątem stabilności technologii.

  • Rafael Zajczewski

    To fajnie, że domyślnie jest HTTP/2