Kontynuujemy temat przyspieszania stron internetowych, dlatego nie może zabraknąć artykułu o szeroko stosowanej kompresji plików. Pierwszy raz z samą kompresją spotkałem się podczas tworzenia archiwum w programie WinRAR i umieszczaniu go na dyskietce, zachodziłem wtedy w głowę jak zmniejszenie rozmiaru pliku jest w ogóle możliwe. Teraz już wiem więcej, dyskietki nieodgadnionym sposobem wyszły z obiegu, a przewijanie kaset kredką to tylko bardzo przyjemna pozostałość po nastoletnich czasach w moich wspomnieniach, postanowiłem więc podzielić się z Wami moim doświadczeniem tworząc ten artykuł. Zapraszam ze mną na szybką podróż.

W tym artykule przybliżę Ci:
  • Czym jest kompresja plików
  • Właściwości kompresji Gzip
  • Właściwości kompresji Brotli

Czym jest kompresja pliku

Aby zrozumieć jak działa kompresja Gzip czy Brotli, najpierw dobrze zrozumieć samą ideę. W prostych słowach, jest to zoptymalizowanie rozmiaru pliku poprzez zmianę jego struktury w sposób tymczasowy bądź stały, z możliwością jego późniejszego odtworzenia do stanu oryginalnego. Nas interesuje kompresja plików podczas ich przesyłania, więc będzie tu mowa o tymczasowej, lecz bezstratnej kompresji, która będzie wykonywana na czas trawersu z punktu A do punktu B. 

Przyjmijmy, że punkt A to dysk serwera, na którym znajdują się pliki strony, a punkt B to nowoczesna przeglądarka internetowa zainstalowana na urządzeniu użytkownika odwiedzającego stronę. Przeglądarka wysyła informację do serwera z nagłówkiem “Accept-Encoding: br, gzip”, który jest niczym innym jak wskazaniem, że potrafi ona obsłużyć zawartość skompresowaną w Brotli (br), jak i w Gzip.

Informujemy: podczas odwiedzania naszych stron przez użytkowników, przeglądarka prosi o udostępnienie jej plików z naszego serwera, co umożliwi wyświetlenie w niej zawartości tejże strony, bazując na jej kodzie i mediach. Następuje wtedy transfer plików i informacji z serwera, a im są one mniejsze, tym szybciej proces zostanie zakończony, co następnie przełoży się na szybkość ładowania samej strony, według mnie jest to bardzo logiczny system i z podobnymi systemami mamy kontakt na co dzień.

W momencie gdy przeglądarka i serwer odpowiednio się dogadają zaczyna się proces kompresowania plików po stronie serwera w danym algorytmie kompresyjnym (najbardziej znane algorytmy to właśnie Brotli i Gzip), następuje ich transfer do przeglądarki i kolejny krok należy właśnie do niej, która używa swoich zaprogramowanych metod dekompresji, której typ był wcześniej zdefiniowany, przywracając pełną integralność oryginalnego pliku i wyświetla go w nienaruszonym stanie, tak jakby nic nie zaszło.

Uwaga: Jeśli chcesz dowiedzieć się o przyspieszaniu WordPress’a zapraszamy do przeczytania naszego artykułu Przyspiesz swoją stronę WordPress dzięki Litespeed Cache

Kompresja Gzip

Metoda kompresji Gzip nie została wynaleziona przez jedną osobę, lecz przez cały zastęp programistów i inżynierów pracujących w ramach projektu GNU, czyli jednego z Unix’owych systemów operacyjnych na zasadzie wolnego oprogramowania, uruchomiony przez Richarda Stallmana w 1983 roku.

Gzip (GNU zip) został stworzony przez Jean-Louisa Gailly’ego i Marka Adlera w 1992 roku. Był to program do kompresji plików, który wykorzystywał algorytm kompresji DEFLATE, który sam w sobie został opracowany przez Phila Katza. Był on kiedyś wykorzystywany do kompresji danych jednak w chwili obecnej rzadko wykorzystywany z uwagi na przewagę wyrobioną przez nowsze rozwiązania. Jean-Louis Gailly i Mark Adler pracowali nad rozwojem tej metody i jej wprowadzenia, by stworzyć efektywne narzędzie do kompresji danych w ramach projektu GNU.

Pomimo zaawansowanego wieku kompresja Gzip nadal jest bardzo szeroko stosowana w internecie. Jest napędzana prostym, acz skutecznym algorytmem, łatwo ją zaimplementować z uwagi na istnienie wielu gotowych bibliotek, które umożliwiają kompresję i dekompresję danych za pomocą algorytmu Gzip w różnych językach programowania, a również jest obsługiwana w większości przeglądarek internetowych, co czyni ją skrajnie popularną.

Czy wiesz że: na naszych serwerach w zenbox kompresja Gzip, tak samo jak Brotli jest włączona domyślnie i uruchomienie ich dla Twojej strony jest tak proste jak włączenie odpowiedniej biblioteki w konfiguracji PHP na serwerze.

Kompresja Brotli

Brotli to algorytm kompresji danych stworzony przez pracowników Google, Jyrki Alakuijala i Zoltána Szabadkę w 2013 roku. Pierwotnie to rozwiązanie miało odpowiadać za bardziej optymalną kompresję czcionek, jednak kompetencje zespołu zostały rozszerzone, aby narzędzie obejmowało kompresję dodatkowych danych internetowych, tj. plików HTML, CSS, JS czy obrazków.

Kompresja Brotli w porównaniu do Gzip jest szybsza i bardziej optymalna pod względem zmniejszenia rozmiaru danych, które są transferowane. Również po stronie przeglądarki, gdy oczywiście posiada odpowiednie funkcje zapewniające dekompresję danych skompresowanych w Brotli, przywracanie plików do oryginalnego stanu sprzed tego procesu jest po prostu szybsze.

Różnice w szybkości serwowania danych pomiędzy tymi dwoma algorytmami będą się wahać z uwagi na wiele czynników, jednak Brotli swoją przewagę zaznacza podczas kompresji większych plików.

Ostatnią znaczącą różnicą, znowu na korzyść Brotli, jest jego współpraca z protokołem HTTP/2, który został stworzony, aby rozwiązać problemy komunikacyjne czy usprawnić przesył wielu żądań do serwera w sposób jednoczesny, a to wszystko dla lepszego komfortu użytkowników internetu, co pośrednio daje również korzyść samej firmie Google. Głupio by było jednak z tego nie korzystać.

Informujemy: Brotli potrzebuje więcej mocy obliczeniowej niż Gzip podczas kompresowania plików, co ma wpływ na wykorzystanie zasobów serwera, gdyż są a co za tym idzie spowolnienie jego działania, dlatego polecamy przy kupnie hosting o kierowanie się również wydajnością. Więcej o wyborze hostingu bez zmartwień przeczytacie w naszym artykule Co to jest hosting bez zmartwień?

Podsumowanie

Ogólnie rzecz biorąc, różnice w prędkości między Brotli a Gzip mogą być zróżnicowane w zależności od wspomnianych przeze mnie czynników. Jednak Brotli jest często uznawany za szybszy i bardziej wydajny niż Gzip, szczególnie przy zachowaniu podobnej efektywności kompresji.

Autor:

Konrad Matus

Lojalny mnich w Zenbox.pl, zawsze pomocny i przeważnie uśmiechnięty. Zwolennik tekstu pisanego i samego pisania. Prywatnie mąż, ojciec i syn, dokładnie w tej kolejności. W wolnym czasie remontuje, produkuje muzykę elektroniczną i gra w grę... World of Warcraft.

Może ci się spodobać również

Laptop i ręce człowieka z nakładką tarczy.
Porady - 17 kwietnia 2025 12:28

Zero Trust Security w WordPress: Jak zabezpieczyć stronę przed nieautoryzowanym dostępem?

Bezpieczeństwo stron internetowych to temat, który nigdy nie traci na znaczeniu. W dobie rosnącej liczby ataków hakerskich, wycieków danych i zagrożeń typu brute force, tradycyjne podejście do ochrony stron WordPress może nie być wystarczające. Właśnie dlatego coraz więcej firm i administratorów stron internetowych wdraża model Zero Trust Security. Czym różni się Zero Trust od klasycznych […]

Więcej →

Ściana kodu html
Porady - 14 kwietnia 2025 12:53

Jak działa Git? Przewodnik dla początkujących

Git to jeden z najpopularniejszych systemów kontroli wersji na świecie. Jest używany przez programistów, administratorów systemów i zespoły IT do śledzenia zmian w kodzie i współpracy nad projektami. Dzięki niemu można tworzyć między innymi aplikacje internetowe i łatwo zarządzać w zespole historią plików, cofać zmiany i pracować nad różnymi funkcjami w niezależnych gałęziach. Wielu początkujących […]

Więcej →

Człowiek z mapą gotowy do migracji
Porady - 20 marca 2025 8:55

5 Najczęstszych błędów popełnianych podczas migracji strony internetowej na nowy serwer i jak ich uniknąć

Dobrze pamiętam gdy pierwszy raz zabierałem się za przeniesienie strony internetowej pomiędzy serwerami. Towarzyszyło mi uczucie zagubienia, kwestionowałem jeszcze wtedy bardzo swoje umiejętności, jednak powiedzenie „strach ma wielkie oczy” wyjątkowo dobrze wpisywało się w całą sytuację. Czy migracja strony www może być wyzwaniem? Oczywiście, jednak użyję tutaj mojego ulubionego zwrotu, „to zależy” od na przykład […]

Więcej →