Włącz kompresję tekstu

Zasoby tekstowe powinny być kompresowane, aby zminimalizować ilość danych przesyłanych w sieci. W sekcji Możliwości raportu Lighthouse znajdziesz listę wszystkich zasobów tekstowych, które nie są skompresowane:

Zrzut ekranu pokazujący kontrolę Włącz kompresję tekstu w Lighthouse

Jak Lighthouse obsługuje kompresję tekstu

Lighthouse zbiera wszystkie odpowiedzi, które:

  • mieć typy zasobów opartych na tekście;
  • Nie podawaj nagłówka content-encoding ustawionego na br, gzip lub deflate.

Następnie Lighthouse kompresuje każdy z nich za pomocą GZIP, aby obliczyć potencjalne oszczędności.

Jeśli oryginalny rozmiar odpowiedzi jest mniejszy niż 1,4 KiB lub potencjalne oszczędności wynikające z kompresji są mniejsze niż 10% pierwotnego rozmiaru, Lighthouse nie uwzględnia tej odpowiedzi w wynikach.

Włącz kompresję tekstu na serwerze

Aby przejść ten audyt, włącz kompresję tekstu na serwerach, które wysyłały te odpowiedzi.

Gdy przeglądarka żąda zasobu, używa nagłówka żądania HTTP Accept-Encoding, aby wskazać, które algorytmy kompresji obsługuje.

Accept-Encoding: gzip, compress, br

Jeśli przeglądarka obsługuje Brotli (br), użyj tego algorytmu, ponieważ pozwala on zmniejszyć rozmiar zasobów bardziej niż inne algorytmy kompresji. Wyszukaj how to enable Brotli compression in <X>, gdzie <X> to nazwa Twojego serwera. Od grudnia 2022 r. Brotli jest obsługiwany we wszystkich głównych przeglądarkach z wyjątkiem Safari na iOS. Informacje o aktualizacjach znajdziesz w artykule Zgodność z przeglądarką.

Użyj GZIP jako kreacji zastępczej dla Brotli. GZIP jest obsługiwany we wszystkich głównych przeglądarkach, ale jest mniej wydajny niż Brotli. Zapoznaj się z przykładami w sekcji Konfiguracje serwerów.

Serwer powinien zwrócić nagłówek odpowiedzi HTTP Content-Encoding, aby wskazać algorytm kompresji, którego użyto.

Content-Encoding: br

Sprawdzanie kompresji odpowiedzi

Aby sprawdzić, czy serwer skompresował odpowiedź:

Aby otworzyć Narzędzia dla programistów, naciśnij Control+Shift+J (lub Command+Option+J na Macu). Kliknij kartę Sieć.

  1. Naciśnij Control + Shift + J (lub Command + Option + J na Macu), aby otworzyć narzędzia programistyczne.
  2. Kliknij kartę Sieć.
  3. Kliknij żądanie, które spowodowało otrzymanie interesującej Cię odpowiedzi.
  4. Kliknij kartę Nagłówki.
  5. Sprawdź nagłówek content-encoding w sekcji Nagłówki odpowiedzi.
Nagłówek odpowiedzi content-encoding
Nagłówek odpowiedzi content-encoding.

Aby porównać rozmiary skompresowanej i zdekompresowanej odpowiedzi:

  1. Naciśnij Control + Shift + J (lub Command + Option + J na Macu), aby otworzyć Narzędzia deweloperskie.
  2. Kliknij kartę Sieć.
  3. Włącz duże wiersze żądań. Zobacz Używanie dużych wierszy żądań.
  4. W kolumnie Rozmiar znajdziesz odpowiedź, która Cię interesuje. Najwyższa wartość to rozmiar po kompresji. Wartość na dole to rozmiar po rozpakowaniu.

Zobacz też artykuł Minimalizowanie i kompresowanie danych sieciowych.

Wskazówki dotyczące poszczególnych zbiorów

  • Drupal: zasoby tekstowe powinny być kompresowane (gzip, deflate lub brotli), aby zminimalizować łączną liczbę bajtów sieciowych. Rozważ użycie sieci CDN, która natywnie obsługuje tę funkcję, lub skonfiguruj serwer WWW, aby wykonał tę operację. Więcej informacji
  • Joomla: włącz opcję Gzip Page Compression (System > Konfiguracja globalna > Serwer).
  • WordPress: włącz kompresję tekstu w konfiguracji serwera WWW.

Zasoby