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:
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 nabr
,gzip
lubdeflate
.
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ć.
- Naciśnij Control + Shift + J (lub Command + Option + J na Macu), aby otworzyć narzędzia programistyczne.
- Kliknij kartę Sieć.
- Kliknij żądanie, które spowodowało otrzymanie interesującej Cię odpowiedzi.
- Kliknij kartę Nagłówki.
- Sprawdź nagłówek
content-encoding
w sekcji Nagłówki odpowiedzi.
Aby porównać rozmiary skompresowanej i zdekompresowanej odpowiedzi:
- Naciśnij Control + Shift + J (lub Command + Option + J na Macu), aby otworzyć Narzędzia deweloperskie.
- Kliknij kartę Sieć.
- Włącz duże wiersze żądań. Zobacz Używanie dużych wierszy żądań.
- 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.