Czym jest ten magiczny protokół. Wikipedia mówi:
pl.wikipedia.org/wiki/HTTP/2
HTTP (ang. Hypertext Transfer Protocol) – protokół przesyłania dokumentów hipertekstowych to protokół sieci WWW (ang. World Wide Web). Obecną definicję HTTP stanowi RFC 2616. Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia.
Dzięki temu protokołowi możemy odczytywać treści strony internetowej wprost z naszej przeglądarki. Protokół ten powstał, bagatela, w 1990 roku i wykorzystuje się go do dnia dzisiejszego.
Od kilku lat w sieci pojawia się coraz więcej informacji o tym, że protokół ten wchodzi w drugą fazę i przybiera zupełnie nową odsłonę. Powodów jest kilka, ale głównym jest to, iż ładowanie stron internetowych „zjada” więcej zasobów niż kiedykolwiek wcześniej i obsłużenie wszystkich zapytań w przyzwoitym czasie staje się problematyczne.
Dla przykładu, aby w protokole http 1.1 pobrać wszystkie pliki z serwera musimy wykonać 3 oddzielne połączenia TCP
W protokole http/2 już tylko jedno
To drastyczna zmiana. Wprowadzenie multiplexingu daje niesamowite efekty i podnosi wydajność. Szczególnie widać to na zmniejszonym opóźnieniu po stronie klienta końcowego, czyli przeglądarce internetowej.
Protokół mimo, iż oparty jest w głównej mierze na eksperymentalnym protokole Google SPDY to ewoluował wprowadzając szereg ulepszeń w całym procesie. Główne zmiany to:
- Współbieżność, o której już wspomniałem, czyli za pomocą jednego połączenia, odpowiedzi mogą być odbierane równocześnie.
- Zależności strumieniowe: klient może wskazać serwerowi, które zasoby są ważniejsze od innych.
- Kompresja nagłówka: zmniejszono rozmiar nagłówka HTTP.
- Serwer może wysyłać zasoby, których klient jeszcze nie zażądał
Wzrost szybkości działania stron internetowych
Jak podaje serwis Cloud Flare poprawa szybkości wczytywania stron przy wykorzystaniu HTTP/2 jest praktycznie dwukrotna:
HTTP 1.x | 9.07 sec. |
HTTP/2 | 4.27 sec. |
Dzięki temu jakość korzystania z serwisów dla klientów jest dużo większa.
Dodatkowo praktycznie wszystko wskazuje na to, że wdrożenie HTTP/2 może być brane przez Google jako poprawa czynnika rankingowego. Dzieje się tak, ponieważ HTTP/2 ma ogromny wpływ na szybkość wczytywania stron internetowych, a jak wiadomo Google zachęca do pracy nad ich optymalizacją.
Wady
Strony powinny posiadać dodatkowo certyfikat HTTPS, ale to akurat pozytywny aspekt i należy pamiętać, że protokół HTTP/2 nie jest wspierany przez wszystkie przeglądarki, a jedynie przez te najnowsze.
Podsumowanie
Śmiało można uznać, że przejście na ten protokół nie powoduje żadnych większych problemów, a korzyści jakie płyną z tego rozwiązania są zdecydowanie większe.