Redhand

HTTP/2 już jest!


HTTP/2 już jest!

Niespełna 7 miesięcy od naszej zapowiedzi, możemy dumnie oznajmić, iż jako jedni z pierwszych w Polsce wdrożyliśmy standard HTTP/2 na naszych serwerach.

Dla przypomnienia.

HTTP/2 jest nowo opracowanym standardem komunikacji w sieci web. Pozwala on na znaczne przyspieszenia ładowania stron internetowych. Standard opracowany w większości na bazie SPDY – eksperymentalnego protokołu opracowanego przez Google, charakteryzuje min. :

  • zmniejszenie liczby połączeń otwieranych przez przeglądarkę z 4-8 obecnie, do jednego.
    Jest to możliwe dzięki multipleksacji czyli możliwości przesyłania równocześnie różnych żądań i odpowiedzi z użyciem tego samego połączenia. Ograniczenie ilości połączeń ma szczególne znaczenie w kontekście połączeń szyfrowanych TLS (Http/2 w wielu przeglądarkach jest wspierane wyłącznie przy połączeniach TLS ). Ustanowienie bezpiecznego połączenia tzw. „handshake” jest „zasobożerne” i zmniejszenie ilości otwieranych połączeń, w naturalny sposób zmniejsza ilość pracy jaką musi wykonać przeglądarka i serwer.
  • kompresja nagłówków - pozwala zmniejszyć ilość danych przesyłanych przez sieć. W odróżnieniu od SPDY zmieniono algorytm kompresji ZLIB na HPACK, ze względu na odkrytą w 2012 roku podatność na ataki typu „CRIME”
  • priorytetyzacja czyli nadawanie kolejności w jakiej poszczególne zasoby np. arkusze stylów CSS, kod Java Script, czy też obrazki, są pobierane z serwera. Dzięki temu krytyczne dla procesu wyświetlania strony internetowej elementy, są wysyłane wcześniej, aby zniwelować opóźnienia i polepszyć odczucia interakcji.

Jestem internautom, przeglądam strony, co robić, jak żyć w nowej rzeczywistości http/2?

Najlepsze w tym wszystkim jest to, że użytkownicy końcowi, nie muszą robić nic, no może poza aktualizacją przeglądarek, jeśli używają starych wersji. Ich oprogramowanie samoczynnie rozpozna czy serwer obsługuje nowy standard i przełączy się na odpowiedni mechanizm w razie potrzeby. Nie ma konieczności czegokolwiek konfigurować, a więc jest to duża zachęta dla mniej doświadczonych użytkowników i szansa na szybkie zaadoptowanie nowego standardu przez internautów. Oczywiście musi to iść w parze z aktualizacją serwerów publikujących strony internetowe, podobnie jak to ma miejscu u nas.

A co z webdeveloperami i projektantami stron ?

Ze względu na sposób w jaki funkcjonuje obecnie dominujący HTTP/1.1, projektanci stron posługiwali się pewnymi optymalizacjami, które pozwalały lepiej wykorzystać ten standard.
Mam tutaj na myśli np.:

  • „image spriting” czyli łącznie wielu obrazków w jeden oszczędzając w ten sposób ilość żądań GET do serwera,
  • łączenie kodu Java Script ,Css w pojedyncze pliki, podobnie jak łączenie obrazków, zmniejszało liczbę zapytań i w ten sposób przyspieszało wczytywanie strony,
  • Content Delivery Network (CDN) czyli rozdzielanie zasobów pośród wielu serwerów, pozwalało na poprawienie czasu ładowania stron ze względu na fakt, iż przeglądarka mogła otworzyć równocześnie więcej połączeń, aby szybciej wczytać pliki.

Obecnie trzeba rozważyć stosowanie tych optymalizacji w kontekście HTTP/2, gdyż niekiedy mogą pogorszyć wydajność.
W tym momencie żądania do serwera są „tanie”, dlatego lepiej umieszczać wszystkie zasoby w obrębie jednej domeny, co pozwala na ograniczenie narzutów związanych z nawiązywaniem połączeń i uprasza zarządzanie zasobami.

Rozdzielenie połączonych plików może zredukować ilość zużytej pamięci RAM, gdyż nie trzeba już przechowywać dużych obiektów (obrazków, kodu) w pamięci. Może zredukować oczekiwanie na pobranie w tym wypadku większych plików. No i cache działa jak powinien, od przeglądarek zaczynając na revers proxy cache kończąc.

Czy moja strona jest HTTP/2 friendly ?

Łatwo to zweryfikowac instalując dodatek HTTP/2 and SPDY indicator w przeglądarce Chrome

Internet nieustannie pędzi do przodu. Aby móc za nim nadążyć konieczne są nowe rozwiązania takie jak HTTP/2. Obecny standard HTTP/1.1 będzie zapewne jeszcze funkcjonował przez dobrą dekadę, po czym powoli go pożegnamy i stanie się on dobrym materiałem do opowieści przy ognisku, gdzie zaciekawieni młodzi słuchacze z niedowierzaniem będą się dziwić jak to było dawno, dawno temu.

Autor: Michał Grabowski