Litespeed jako pierwszy obsługuje HTTP/2

Hosting , Nowości , Sklepy Cze 23, 2015 4 komentarzy

14 maja 2015r. IETF opublikowało finalną wersję specyfikacji protokołu HTTP/2. Czym on jest? Jakie są jego wady i zalety? Czy uda mu się wyprzeć starszą wersję, która w użyciu jest od 16 lat?

SPDY jako koło zamachowe

HTTP to protokół używany przez wszystkie przeglądarki internetowe, przy pomocy którego wczytywane są strony internetowe. Choć dotychczas używana wersja HTTP/1.1 okazała się bardzo dobrym i powszechnie używanym rozwiązaniem, to niestety wraz z rozwojem nowoczesnych technologii wyszło na jaw, że część jego zalet w pewnych okolicznościach może być wadami.

Dobrym przykładem może być brak multipleksacji. O ile niewątpliwą zaletą jest prostota budowy protokołu i jasne przyporządkowanie jednego żądania do jednego połączenia TCP, to w przypadku użycia HTTP/1.1 w sieciach mobilnych okazuje się, że konieczność ustanawiania wielu podobnych połączeń powoduje wolniejsze ładowanie stron internetowych.

Problemy wynikające z konstrukcji protokołu HTTP/1.1 jako pierwsze skutecznie postanowiło rozwiązać Google. Aby wprowadzone w przeglądarce Chrome aplikacje webowe mogły działać szybciej, opracowano protokół SPDY. Choć pierwotnie wdrożony został tylko na serwerach Google, to niebawem pojawiły się także otwarte implementacje, które potwierdziły, że dzięki zastosowanym rozwiązaniom w realny sposób można przyspieszyć codzienne działania w sieci dla milionów użytkowników. IETF doceniło zalety nowego protokołu i gdy przyszła pora zdecydowano, że właśnie SPDY stanie się podstawą do opracowania HTTP/2.

Standaryzacja

Prace nad protokołem HTTP/2 pokazały, że SPDY był tak silną podstawą nowego protokołu, że pomiędzy pierwotnym protokołem SPDY a HTTP/2 jest bardzo niewiele różnic.

Nowy protokół, choć może zastąpić całkowicie HTTP/1.1, to nie wymaga podjęcia takiej decyzji w jednej chwili. Protokoły mogą współistnieć i wszystkie nowoczesne przeglądarki wspierają już zarówno starszą wersję HTTP, jak i tę nowszą.

Wprowadzenie nowego standardu ciepło przyjęło nawet Google, bowiem zadeklarowało, że od początku 2016 roku zrezygnuje z używania własnego protokołu SPDY na rzecz jego ustandaryzowanego młodszego brata, czyli HTTP/2.

Co nowego

Najważniejszymi zmianami od strony technicznej są:

  • Multipleksing – od teraz jednym połączeniem TCP może być przesyłanych wiele różnych zasobów jednocześnie. Nie ma potrzeby tracić dodatkowych milisekund na ustanawianie kolejnych połączeń, co ma niebagatelne znaczenie dla przesyłania danych w sieciach mobilnych.
  • Dostępność opcji push – teraz także serwer może aktywnie przesłać do przeglądarki zasoby, których przeglądarka zażądałaby sama za chwilę – zmniejsza to czas wczytywania stron dzięki przesyłaniu od razu razem ze stroną potrzebnych zasobów takich jak arkusze stylów, czy często wykorzystywane obrazki.
  • Format binarny nagłówków oraz ich kompresja – dzięki zastosowaniu zwięźlejszego zapisu nagłówków w postaci binarnej oraz umożliwieniu ich kompresji, oszczędzane są kolejne bajty w trakcie wymiany danych między serwerem, a przeglądarką.

Niestety wraz z szeregiem zalet, pojawiło się kilka wad:

  • Binarność i kompresja powodują mniejszą czytelność nagłówków dla człowieka. Analiza i debugowanie połączeń HTTP stało się znacznie trudniejsze niż dotychczas.
  • Implementacja we wszystkich obsługujących HTTP/2 przeglądarkach wymaga zastosowania szyfrowania przesyłanych danych.
  • Nie wszyscy dostawcy usług jeszcze obsługują nowy standard HTTP.

Jednak nie dajmy się zwieść. Przedstawione wady okazują się mało znaczące, a niektóre są wręcz zaletami. I tak: debugowaniem połączeń na poziomie HTTP zwykły użytkownik internetu nie zajmuje się wcale. Szyfrowanie danych, choć zmniejsza ich przejrzystość, to zwiększa bezpieczeństwo ich przesyłania i uniemożliwia przeprowadzenie wielu ataków (np. na użytkowników bankowości elektronicznej). A usługodawcę hostingu zawsze można zmienić na nowego, który idzie z duchem czasu i już obsługuje najnowszy standard.

Litespeed i HTTP/2 w dhosting.pl

Jedną z pierwszych implementacji najpierw protokołu SPDY, później wczesnych draftów HTTP/2, a teraz jej finalnej wersji zajęli się developerzy serwera Litespeed, czyli jednego z najmocniejszych konkurentów najpopularniejszego serwera WWW – Apache. Pierwotnie obsługę protokołu wprowadzono w otwartoźrodłowej implementacji tj. Open Litespeed, a po szeregu testów z udziałem społeczności, obsługę przeniesiono także do komercyjnej wersji serwera Litespeed. Dzięki temu użytkownicy dhosting.pl, który w standardzie udostępnia właśnie serwer Litespeed, jako jedni z pierwszych użytkowników komercyjnego hostingu, mogą przekonać się o zaletach nowego protokołu.

Wydana w maju wersja 5.0 serwera Litespeed w pełni obsługuje już nowy standard. Jest to pierwsza oficjalnie dostępna i gotowa do wdrożenia na serwery produkcyjne implementacja pełnego standardu HTTP/2. Moduł HTTP/2 dla serwera Apache nadal dostępny jest jedynie w wersji testowej, natomiast wydawca innego popularnego serwera – nginx – deklaruje, że obsługa HTTP/2 może nie pojawić się nawet do końca tego roku. Zatem jeszcze długa droga przed tymi, którzy korzystają z Apache czy nginx.

Serwer Litespeed w wersji 5.0 był stopniowo wdrażany dla użytkowników dhosting.pl posiadających pakiety dKonto. Nie udało nam się stwierdzić występowania żadnych problemów z obsługą nowego protokołu. Chyba, że dla kogoś problemem jest szybkie znikanie paska wczytywania strony! Użytkownicy, którzy posiadają serwery dedykowane z rodziny dVPS lub dSerwer mogą złożyć bezpłatną dyspozycję aktywacji HTTP/2 przez beta.dPanel.pl lub aplikację mobilną (Menu: „Strony WWW”, „HTTP/2”).

Aktywacja HTTP/2 w dhosting.pl

Aktywuj HTTP/2 w beta.dPanel.pl. Menu: „Strony WWW”, „HTTP/2”

Nie uwierzę dopóki nie zobaczę

Dla tych, którzy nie wierzą w możliwości nowego protokołu, zostawiliśmy na deser możliwość samodzielnego zobaczenia jakie korzyści daje nowy protokół HTTP/2 w porównaniu ze starszym. Powstał bowiem w sieci projekt umożliwiający własnoręczne sprawdzenie różnicy w szybkości wczytywania stron. Projekt zrealizowany jest przez inny zespół, ale dzięki temu zachowana zostaje niezależność wyniku od naszych opinii. Nie trzymamy dłużej w niecierpliwości i zapraszamy do testu:

Test HTTP/1.1 vs HTTP/2

Dla geeków bardziej nastawionych na język techniczny załączamy też link do oficjalnej dokumentacji RFC: RFC 7540

Tagów : , , ,
Przemysław Dolny

Przemysław Dolny

  • Jacek Tryl

    Czy przechodząc na http2 potrzebuję czegoś poza SSL?

    • @jacektryl:disqus – jeżeli posiadasz konto na serwerze współdzielonym to wystarczy posiadać SSL. Jeżeli posiadasz dVPS – wystarczy aktywować HTTP/2 przez beta.dpanel.pl. Pisaliśmy w artykule jak to zrobić.

      • Jacek Tryl

        OK. Dzięki

  • Adam Mosquito Kusiak

    Wszystko pięknie działa 🙂
    Po wdrożeniu http/2 czuję wyraźnie że moje serwisy przyspieszyły. Jest
    to wyczuwalne DOSŁOWNIE a nie tylko gdzieś tam w statystykach. Dobra
    robota Panowie 🙂