, ,

Jak protokół HTTP wpływa na szybkość strony?

Trudno wyobrazić sobie dzisiejsze strony internetowe bez protokołu HTTP, który od dawna jest podstawowym sposobem wymiany informacji w sieciach WWW. Jego pierwsza wersja (1.0) powstała w 1996 r. i była usprawniana aż do 2015 r., w którym została wdrożona wersja 2, a aktualnie trwają pracę nad wdrożeniem wersji 3, która powinno stać się standardem już w niedługim czasie.

HTTP/1.1

Nie chcąc rozwodzić się nad dokładnym działaniem tej wersji, należy wspomnieć jedynie o najważniejszym, tj. w jaki sposób zasoby są pobierane.

W wersji 1.1 w czasie jednego połączenia TCP z serwerem może być wysłane tylko jedno zapytanie HTTP, a każde kolejne musi czekać na zakończenie poprzedniego. Takie zachowanie implikuje kolejkowanie zapytań, co finalnie ma wpływ na dłuższe czasy wczytywania strony, szczególnie jeśli tych zasobów (css, js, img) jest wiele.

HTTP/2

Druga wersja protokołu HTTP wprowadziła znaczne zmiany w sposobie wczytywania zasobów względem poprzedniej.

Przeglądarki zamiast operować na wielu równoczesnych połączeniach TCP w celu pobrania zasobów mogą wykorzystywać tylko jedno, w którym może być przesłanych więcej ramek HTTP, które nie muszą być kolejkowane. Takie połączenie TCP zostaje otwarte do momentu zakończenia pobierania zasobów, po czym jest zamykane.

Nietrudno zauważyć jako wpływ taki proces ma na czasy wczytywania stron www – wymagane zasoby strony mogą być pobierane jednym połączeniem TCP.

Żródło: blog.cloudflare.com

Należy pamiętać, że HTTP/2 nie zastępuje standardowego HTTP/1. Jest tylko jego rozszerzeniem, dlatego nie musimy obawiać się o kompatybilność standardów.

Implementacja

Implementacja jest dość prosta i sprowadza się do konfiguracji serwera. Jeśli Twój hosting obsługuje HTTP/2 – możesz bez problemu to wykorzystać. Jeśli tego nie wiesz, skorzystaj ze strony http2.pro. Dodatkowym wymaganiem jest instalacja certyfikatu SSL.

Wsparcie

Aktualnie wszystkie nowoczesne przeglądarki wspierają protokół HTTP/2 bez dodatkowych konfiguracji.

HTTP/3

Zadaniem protokołu TCP, który jest wykorzystywany w HTTP/2 jest dostarczanie pakietów w konkretnej kolejności jeden po drugim. W momencie gdy jeden z nich zostanie utracony, kolejne występujące po nim nie mają możliwości poprawnego dotarcia do miejsca docelowego i są blokowane, a transmisja danych przerwana. Jest to jedna z bolączek, którą rozwiązuje wykorzystanie protokołu HTTP/3.

Ta wersja wykorzystuje protokół UDP zamiast TCP, w którym kolejność pakietów nie jest tak istotna i w momencie gdy jeden z nich zostaje utracony, połączenie jest kontynuowane, a pozostałe są w dalszym ciągu pobierane. Jest to szczególnie istotne w przypadku niestabilnych sieci.

Wsparcie

Na dzień pisania artykułu najpopularniejsze przeglądarki takie jak Google Chrome, Forefox czy MS Edge domyślnie wspierają protokół. Wyjątkiem jest Safari, w którym wsparcie jest oznaczone jako funkcja eksperymentalna, którą można włączyć w ustawieniach przeglądarki.

Źródła

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

Nasza pasja do technologii nie kończy się na dostarczaniu wnikliwych treści poprzez ten blog. Z nieukrywaną radością ogłaszamy uruchomienie naszej platformy, która oferuje szereg kursów technologicznych, specjalnie dostosowanych do entuzjastów takich jak Ty.

Tematy

agencja interaktywna animacje animate Block Theme Branża IT bug CSS dostępność www Editor edytor blokowy Flex Gap FSE Full Site Editing GIT GIT Submodules Gutenberg HTTP/2 HTTP/3 IT JS klient Memcached Optimization plik SVG Praca praca w IT Rozmowy o WordPress strona www strony www SVG szkolenia WordPress Text-overflow theme.json tworzenie stron www wcag web accessibility Web development webkit line clamp Wordpress Workflow wp postmeta api wp transient Własna firma zarządzanie projektami zlecenie