Kto chce upiec mniejsze bułki? - Wszyscy profesjonaliści WordPress, którzy chcą dostarczyć swoją stronę internetową tak szybko, jak to możliwe. Od jakiegoś czasu bardzo popularna jest technologia o nazwie Brotli.
Obecnie istnieją różne metody kompresji. Przez długi czas standardem był gzip, ale w międzyczasie pojawił się nowy algorytm kompresji o nazwie Brotli. I nie bez powodu! Aby upewnić się, że Twoja witryna WordPress również nadąża za duchem czasu pod względem kompresji, Brotli stał się standardem pod adresem Raidboxes. Ale zacznijmy od początku.
Kompresja danych 1 x 1
Kompresja danych to technika, w której przestrzeń przechowywania danych jest maksymalnie zmniejszona. Ponieważ: im mniejsza objętość, tym krótszy czas transmisji.
Zmniejszenie rozmiaru uzyskuje się poprzez kondensację lub redukcję danych. Zasadniczo informacje są przekształcane w krótszą formę, która zajmuje mniej miejsca w pamięci.
Kompresja i rozpakowywanie to dwa procesy, ale najważniejsze jest to, że nadal są one szybsze niż zwykłe przesyłanie dużych ilości danych.
Google jako piekarz
Poprzednim standardem kompresji w Internecie był gzip. Kompresja ta działa w oparciu o algorytm o nazwie Deflate, który składa się z kombinacji techniki LZ77 i kodowania Huffmana. Deflate istnieje od 1993 roku i od tego czasu stał się absolutnym standardem dla transmisji HTTP.
Ale to nie wystarczyło Google. W swoich niekończących się wysiłkach, aby ulepszyć Internet, gigant z Doliny Krzemowej opracował kilka lat temu algorytm Zopfli (nazwany na cześć szwajcarskiego warkocza drożdżowego). Zopfli wykorzystuje podobną technikę do Deflate i jest również kompatybilny z jego formatem danych, ale posiada już pewne ulepszenia.
To chyba wciąż za mało, bo w międzyczasie pojawiły się Brotli - nazwane na cześć Brötli, szwajcarskie bułki.
Brotli to algorytm open source, który według Google reprezentuje zupełnie nowy format danych. Kompatybilność z Deflate już się skończyła, ale Brotli przynosi kilka innych korzyści.
Gzip vs. Brotli: Kto się ściga?
Jak duże oszczędności zapewnia Brotli w stosunku do standardowego procesu gzip? Raporty wykazują wyraźną przewagę:
- Dla HTML, Brotli oszczędza 21% więcej pamięci niż gzip.
- W przypadku JavaScript wartość ta wynosi 14%.
- CSS jest przechowywany o 17% mniej przez Brotli niż przez gzip.
W zasadzie różnica w szybkości pomiędzy transferem danych skompresowanych i nieskompresowanych jest już bardzo duża. Gzip już teraz oszczędza sporo miejsca na dysku w porównaniu z sytuacją początkową. Brotli idzie o krok dalej - nawet jeśli liczby nie wyglądają na ogromne oszczędności w porównaniu do gzip.
Brotli oferuje korzyści szczególnie dla stron mobilnych
Urządzenia mobilne i taryfy danych w szczególności korzystają z kompresji. Tutaj dostępna przepustowość jest często znacznie niższa, więc nawet 20-procentowa oszczędność skutkuje znacznie lepszym doświadczeniem użytkownika. Serwery internetowe i urządzenia mogą być już dość szybkie - po prostu internet nie zawsze jest.
Ponieważ coraz więcej osób korzysta ze stron internetowych w podróży, a tym samym korzysta z mniejszego rozmiaru plików Brotli (na przykład poprzez mniejsze zużycie baterii i niższe opłaty za transmisję), Google ma nadzieję, że algorytm stanie się nowym standardem w przyszłości.
Ograniczenia przy Brotli
Pomimo tych zalet, Brotli nie jest mistrzem we wszystkich dziedzinach. Prawdopodobnie również dlatego, że algorytm jest dość młody (Google wprowadziło go we wrześniu 2015 roku), wciąż trzeba pogodzić się z jednym lub dwoma ograniczeniami.
Ważna jest dokładna konfiguracja
Jednak oszczędność rozmiaru pliku nie jest jedyną miarą, względem której należy mierzyć metodę kompresji. W końcu chcesz poprawić wydajność swojej witryny. Ważnym aspektem jest również szybkość kompresji i dekompresji informacji. W końcu od tego zależy, jak szybko zobaczysz wyniki.
Zła konfiguracja pomiędzy oszczędnością pamięci a szybkością konwersji może spowodować, że gzip będzie nawet szybszy niż Brotli. Rzeczywiście, zarówno gzip jak i Brotli mają wiele poziomów jakości (gzip dziewięć, a Brotli jedenaście).
Jest to więc kwestia dopracowania tego, co chcesz uzyskać z konfiguracji. Wyniki testów pokazują, że Brotli na poziomie 4 oszczędza więcej pamięci i działa nawet nieco szybciej niż gzip na poziomie 6.
Brotli działa tylko pod HTTPS
Brotli działa tylko z połączeniami HTTPS. Ale szczerze mówiąc, w dzisiejszych czasach to i tak standard.
"*" wyświetla wymagane pola
Brotli jest idealny dla statycznych treści
Innym często dyskutowanym punktem spornym jest kompresja dynamicznej zawartości. Szybkie przypomnienie:
- Treści dynamiczne są generowane indywidualnie tylko wtedy, gdy użytkownik tego zażąda, np. jeśli chce wyświetlić wpisy z określonych kategorii na blogu lub wybrać koszule określonej marki w określonym rozmiarze w sklepie internetowym za pomocą funkcji filtrowania. Oczywiście, treść jest kompresowana dopiero po wygenerowaniu.
- Z drugiej strony, treści statyczne są już skompresowane na serwerze i dostarczane wszystkim użytkownikom w ten sam sposób.
Sedno sprawy podczas kompresji dynamicznej zawartości: Dopóki serwer jest zajęty kompresowaniem zawartości, nic nie widzisz. Dopiero po zakończeniu kompresji dane są dostarczane. A im lepsza ma być kompresja, tym dłużej to trwa. Nawet przy niskich współczynnikach kompresji, dynamiczna kompresja może już ograniczać wydajność. Z drugiej strony, zawartość statyczna, która jest już skompresowana, może zostać dostarczona w mgnieniu oka, gdy pojawi się żądanie.
W praktyce okazało się, że Brotli jest bardziej skuteczny w przypadku treści statycznych, jeśli algorytm jest odpowiednio skonfigurowany. Jednak w przypadku dynamicznej zawartości wiele osób nadal preferuje gzip. Inni twierdzą, że Brotli może również nadążyć za gzipem w przypadku dynamicznej zawartości.
Nie wszystkie przeglądarki obsługują Brotli
Jeśli chodzi o serwery, NGINX i Apache (od wersji 2.5) obsługują Brotli. Obecnie prawie wszystkie przeglądarki obsługują Brotli. Możesz dowiedzieć się, które przeglądarki (jeszcze) nie obsługują Brotli jako standardu kompresji na caniuse.com.
Jeśli nadal musisz obejść się bez Brotli z powodu niektórych przeglądarek, mamy dobrą wiadomość: zawartość nadal będzie dostarczana do tych użytkowników: W tym przypadku gzip jest aktywowany automatycznie. Nie musisz się więc martwić, że nic nie zobaczą.
Wnioski
Oszczędność przestrzeni dyskowej, szybsze dostarczanie stron internetowych i zwiększenie wydajności: cieszymy się, że możemy być tego częścią. Moim zdaniem korzyści są oczywiste. Na Raidboxes korzystasz bezpośrednio: Brotli jest standardowo wbudowany w serwery.