Cały ruch sieciowy w Internecie wykorzystuje dobrze znany protokół HTTP. Być może nie wiesz, że w rzeczywistości w Internecie opublikowano i zastosowano wiele wersji protokołu HTTP. Pierwszą opublikowaną wersją był HTTP V0.9 i został wydany w 1991 roku, wersja 1.0 została wydana w 1996 roku i zastąpiona w 1997 przez HTTP/1.1.
Od tego czasu HTTP/1.1 jest standardowym protokołem komunikacji internetowej. Mimo że w protokole pojawiło się wiele poprawek i wyjaśnień, które przestarzały poprzednie wersje, użyto nazwy HTTP/1.1. Ostatnie zmiany zostały wprowadzone w 2014 roku.
Protokół HTTP/2 został opublikowany w 2015 roku i został zaprojektowany jako oferowany obok, a nie zastępujący poprzedni standard HTTP/1.1. Opiera się na protokole SPDY (wymawianym „szybkim”) opracowanym przez Google i ma na celu zachowanie jak największej zgodności z HTTP/1.1, na przykład z kodami błędów i metodami żądań.
Protokół HTTP/2 został również zaprojektowany w celu zwiększenia szybkości ładowania stron internetowych poprzez szereg ulepszeń wydajności. Nie zastępując protokołu HTTP/1.1, starsze urządzenia, które nie obsługują protokołu HTTP/2, mogą nadal działać, podczas gdy te, które obsługują nowszy protokół, mogą czerpać korzyści.
Ulepszenia HTTP/2
Jedną z dużych zmian w HTTP/2 jest to, że wszystkie zasoby na stronie mogą być żądane i zwracane w jednym połączeniu. Poprzednio w HTTP/1.1 przeglądarka internetowa musiała otwierać nowe połączenie dla każdego żądanego zasobu, a następnie je zamykać. Prowadzi to do wielu dodatkowych kosztów, zwłaszcza jeśli strona ma dziesiątki, a nawet setki zasobów, spowalniając czas ładowania strony. Żądając wszystkich zasobów w jednym połączeniu, przeglądarka musi negocjować tylko jedno połączenie z serwerem WWW, zmniejszając obciążenie transmisji i obciążenie zasobów.
Wskazówka: zasób sieciowy to dowolny plik używany do wyświetlania strony internetowej. Na przykład obejmuje to kod HTML, obrazy, informacje o stylach i skrypty.
Kolejna poprawa w HTTP/2 oznacza, że żądania sieciowe są teraz „potokowe”, co umożliwia wysyłanie wielu żądań przed otrzymaniem jakichkolwiek odpowiedzi. Poprzednio w HTTP/1.1 każde żądanie musiało być wykonane w odpowiedniej kolejności, co oznaczało, że czas spędzano na oczekiwaniu na odpowiedź na poprzednie żądanie, aby zażądać następnego zasobu, opóźniając czas ładowania strony.
Implementacja w przeglądarkach
Wszystkie nowoczesne przeglądarki obsługują HTTP/2. Niestety wskaźnik implementacji na stronach internetowych jest mniej uniwersalny. Niemniej jednak użytkownicy mogą czerpać korzyści z HTTP/2 na tych stronach internetowych, które zostały skonfigurowane do korzystania z niego.
Chociaż sam protokół HTTP/2 nie wymaga użycia szyfrowania, wszystkie jego implementacje w przeglądarkach to robią. W związku z tym protokół HTTP/2 może być używany tylko przez połączenia HTTPS.