HTTP, czyli Hypertext Transfer Protocol, to protokół sieci WWW, dzięki któremu możliwe jest swobodne korzystanie z zasobów internetu. Przeglądarka internetowa, taka jak np. Internet Explorer czy Chrome, właśnie za pomocą protokołu HTTP przesyła do serwera żądania związane z udostępnieniem strony WWW. Protokół ten odpowiada również za przekazywanie informacji o kliknięciu odnośników oraz m.in. przesył danych z formularzy, które wypełniane są na stronach internetowych.
Co nieco technologii
Pierwsza wersja HTTP z 1990 roku oznaczona symbolem 0.9 była bardzo prostym protokołem służącym jedynie do transmisji niezbyt skomplikowanych informacji przez internet. Późniejsze wersje HTTP/1.0 i 1.1 rozbudowano m.in. o możliwość przesyłu dodatkowych informacji zawierających parametry związane z przesyłanymi danymi.
Obecnie typowe strony internetowe składają się z wielu elementów. Oprócz standardowego kodu HTML (Hypertext Markup Language) opisującego strukturę informacji na stronach internetowych znajdziesz tam również elementy takie jak kaskadowe arkusze stylów CSS (Cascading Style Sheets) opisujące formę wyświetlania stron WWW, skrypty JavaScript, zdjęcia, materiały wideo, animacje Flash itp. Aby przesłać wszystkie te dane przy pomocy protokołu HTTP, musi zostać utworzonych kilka połączeń. Każde z nich zawiera szczegółowe informacje na temat źródła, przeznaczenia, protokołu i zawartości przesyłanych pakietów informacji.
Niestety taki sposób przesyłu informacji w znaczny sposób obciąża zarówno serwer dostarczający treści, jak i przeglądarkę odbierającą te dane. Co więcej, im bardziej rozbudowana jest strona WWW, tym większych zasobów od serwera i przeglądarki internetowej wymaga przesłanie, a następnie przetworzenie i wyświetlenie zawartych na niej treści. W rezultacie prowadzi to do powstawania tak mocno irytujących wielu użytkowników opóźnień związanych z wczytaniem i wyświetleniem strony.
Zaczęło się od SPDY
Z problemem opóźnień postanowiła powalczyć firma Google. W 2009 roku ruszyły pracę nad technologią
SPDY (wymawiane jako „speedy”), która umożliwiałaby znacznie szybsze ładowanie się stron WWW. Protokół ten z założenia miał być rozszerzeniem standardu HTTP, dzięki czemu bardzo szybko zaczęły z niego korzystać takie serwisy jak Facebook, Twitter czy Wordpress. Jak twierdzi Google, zastosowanie SPDY skraca czas otwierania witryn o ponad 60 proc., a przy połączeniach szyfrowanych o 55 proc. Obecnie obsługa SPDY jest zaimplementowana w przeglądarkach Google Chrome, Mozilla Firefox, Opera, Amazon Silk, Internet Explorer oraz Safari.
Podstawą działania SPDY jest zmniejszenie liczby połączeń. Protokół ten do przesłania kilku plików z serwera do maszyny klienta wymaga tylko jednego połączenia. Co więcej, wszystkie transmisje są szyfrowane i kompresowane przy użyciu bezstratnej kompresji w formacie GZIP. Ponieważ już na samym początku firma Google oświadczyła, że jej celem jest uczynienie ze SPDY uniwersalnego, internetowego standardu, organizacja standaryzująca IETF (Internet Engineering Task Force) zgodziła się przyjąć SPDY jako podstawę do dalszych prac nad nową wersją standardu protokołu hipertekstowego.
Co to jest protokół?
W najprostszym ujęciu protokół to zbiór zasad, które mówią, w jaki sposób informacja jest przekazywana z jednego komputera do drugiego. Każdy protokół komunikacyjny jest nieco inny, ale zazwyczaj składa się on z nagłówka, stopki oraz zawartych pomiędzy nimi danych. W nagłówku znajdują się adresy źródłowe i docelowe oraz informacje o pakiecie danych, np. ich typie czy rozmiarze. W stopce umieszcza się mechanizmy korekcji i wykrywania błędów, np. sumy kontrolne.