adress bar

HTTP/2 – co to jest i jakie korzyści może przynieść?


HTTP/2 – co to jest i jakie korzyści może przynieść?

HTTP, czyli Hypertext Transfer Protocol to protokół, który w dużym uproszczeniu odpowiada za komunikację serwera z przeglądarką. Poprzedza on adres strony internetowej w przeglądarce, choć często go omijamy. Mimo to protokół HTTP pojawia się automatycznie, a  przy jego pomocy przesyła się żądanie udostępnienia klientowi dokumentów z sieci. HTTP/2 jest zaktualizowaną wersją protokołu HTTP/1.1, którego nie unowocześniano od 1997 roku.

HTTP vs HTTP2

HTTP/2 to wydany w 2015 roku następca protokołu HTTP/1.1. Z HTTP korzysta się jest od 1990 roku. Wówczas jego wersję oznaczono numerem 0.9 – wtedy można było wysyłać jedno żądanie w ramach jednego połączenia. Należy podkreślić, że m.in. ze względu na brak nowej wersji HTTP strony WWW nie mogły wczytywać się tak szybko, jak pozwala na to obecnie technologia. Problem ten dotychczas obchodzono na różne sposoby. Stosowano np. serwerów CDN, jednak dzięki HTTP/2  serwisy do błyskawicznego wczytywania się nie potrzebują już żadnych dodatkowych narzędzi. Protokół ten pierwotnie nazywano HTTP/2.0 lub HTTP2.0. Wprawdzie jest on dostępny już dosyć długo, ale mimo to jeszcze nie wszystkie firmy hostingowe go wspierają. Jak to wygląda w przypadku konkretnej firmy? Łatwo można to sprawdzić, korzystając z tego narzędzia: https://tools.keycdn.com/http2-test. Wystarczy wprowadzić adres strony WWW znajdującej się na danym serwerze i po chwili otrzymujemy wynik:

 

wynik sprawdzałki http/2

 

Protokół http jest protokołem bezstanowym. Oznacza to, że nie przechowuje on danych. Klient wysyła zapytanie, a serwer przekazuje dane. Z jednej strony to plus, gdyż serwer nie jest obciążany informacjami. Jednakże z drugiej strony, przy każdym kolejnym wejściu na stronę WWW są one ponownie odbierane. Dlatego też serwisy internetowe wykorzystują mechanizm ciasteczek, który zapamiętuje dane sesji tj. z odwiedzin strony WWW.

Co właściwie zmienia HTTP/2?

HTTP/2 umożliwia wykonanie wielu zapytań do serwera jednocześnie, tzn. nie kolejkują się, tylko realizują jednocześnie w tym samym czasie. Zatem w przypadku tego protokołu możliwe jest, że jednocześnie pobierana się plik HTML i CSS. Kolejna ważna zmiana polega na tym, że przeglądarka, łącząc się ze stroną, nawiąże tylko jedno połączenie. Będzie ono trwało aż do opuszczenia przez nas strony WWW. W przypadku protokołu w wersji HTTP/1.1 przeglądarka co chwilę wysyłała zapytania o zasoby serwera, przez co powodowała jego większe obciążenie. Korzystanie z HTTP/2 sprawia, że serwer jest w stanie nadawać danym zasobom wyższy priorytet. Jest to kolejny czynnik wpływający na szybkość ładowania się strony WWW. W przypadku tego protokołu wykorzystuje się polecenia binarne. Sprawia to, że mniejsze jest ryzyko błędów. To również wpływa na prędkość wczytywania się serwisu. Co istotne, najnowsze wersje wszystkich popularnych przeglądarek, a także oprogramowanie serwerowe, takie jak Apache, Nginx czy Microsoft IIS obsługują protokół HTTP/2. Z testów publikowanych w sieci wynika, że strony po wdrożeniu HTTP/2 ładują się nawet 2 razy szybciej, co powinno być już wystarczającym argumentem do korzystania z tego protokołu. W przypadku wczytywania się strony WWW znaczenie mają sekundy. Według danych WPEngine każda dodatkowa sekunda ładowania strony powoduje spadek zadowolenia użytkowników o 16 proc., liczby odsłon o 11 proc. i obniżenie konwersji o 7 proc.

HTTP/2 a wyszukiwarka Google

Szybkość ładowania się strony WWW jest jednym z czynników rankingowych wyszukiwarki Google, której algorytm docenia wysiłki zmierzające do przyśpieszenia działania serwisów. Trudno przewidzieć, czy ten krok poprawi widoczność danej strony w wynikach organicznych, ale warto na to wdrożenie patrzeć przede wszystkim pod kątem dynamiki otwierania się witryn internetowych, a co za tym idzie – wygody użytkownika.

Czy HTTP/2 wymaga HTTPS?

Jeśli przed adresem strony WWW w polu przeglądarki znajduje się protokół HTTPS to oznacza to, że połączenie jest szyfrowane tzn. bezpieczne. Popularne przeglądarki już od dawna oznaczają strony bez certyfikatu SSL jako niezabezpieczone. Jest on standardem np. w przypadku sklepów WWW, witryn rządowych czy banków. Czy jednak żeby obsługiwać protokół HTTP/2, strona musi korzystać z szyfrowanego połączenia? Wprawdzie w specyfikacji protokołu nie ma informacji, że jest to wymagane, ale w praktyce uruchomienie serwisu poprzez HTTPS jest konieczne, żeby móc korzystać ze wszystkich dobrodziejstw, jakie daje najnowsza wersja protokołu.

Co jeśli przeglądarka nie obsługuje HTTP/2?

Jeśli mamy zainstalowaną na naszym urządzeniu starszą wersję przeglądarki, która nie obsługuje HTTP/2, to strona otworzy się za pomocą poprzedniego protokołu.

HTTP/2 – wady i zalety

Nowa wersja protokołu HTTP ma zarówno dobre, jak i złe strony, chociaż zdecydowanie przeważają te pierwsze.

Plusy:

  • Wsparcie popularnych przeglądarek – Chrome, Mozilla Firefox, Opera czy IE.
  • Odciążenie serwera, co umożliwia obsłużenie w tym samym czasie większej liczby użytkowników.
  • Nadawanie priorytetów zasobom, dzięki czemu mamy możliwość wyboru, które z nich będą pobierane wcześniej.
  • Brak kolejkowania, czyli równoległe pobieranie danych.
  • Mniej błędów, dzięki binarnej metodzie informacji.
  • Mechanizm PUSH – umożliwienie „wypychania” zasobów tj. przesyłania ich przeglądarce, zanim o nie poprosi.

Minusy:

  • HTTP/2 wymaga posiadania certyfikatu SSL.
  • Protokół nie jest obsługiwany przez każdy serwer.

HTTP/2 to szybsze ładowanie

Efekt zastosowania protokołu HTTP/2 najlepiej widać w prostym teście, który został utworzony na stronie http://www.http2demo.io/. Weryfikacja ta polega na załadowaniu 200 małych obrazków za pomocą protokołu HTTP/1.1 i HTTP/2. Wynik przedstawiające czas realizacji zadania nie pozostawiają wątpliwości: 2,63 s w przypadku HTTP/1.1 i 0,64 s w przypadku HTTP/2. Oznacza to, że przy użyciu protokołu HTTP/2 obrazek załadował się o około 80 proc. szybciej.

Co zrobić, żeby korzystać z HTTP/2?

W AZ.pl HTTP/2 jest domyślnie uruchomiony na serwerze w najnowszej linii hostingów, co gwarantuje korzystanie z szybszego protokołu, o ile strona obsługuje HTTP/2. W przeciwnym razie, automatyczne załaduje się starsza wersja protokołu.

Źródła: https://www.whitepress.pl/baza-wiedzy/201/http-2-co-to-jest-i-czy-warto-to-wdrazac, https://aiocollective.pl/blog/co-to-jest-http-2/, https://www.eactive.pl/blog-o-seo/protokol-http-i-protokol-https-czym-sie-roznia/, https://mansfeld.pl/webdesign/http2-zalety-czy-warto-zainstalowac/