Czy powinienem używać gzip do kompresji mojego HTML?

31

Widziałem z testera online, że mój HTML można skompresować o około 90%! Czy dobrą praktyką jest używanie gzip, czy nie? Widzę, że wiele witryn tego nie używa.

Dla mnie poprawiłoby to ruch, ponieważ niektóre strony zawierają dużo danych (120 KB HTML bez obrazów), które można skompresować do kilku kilobajtów.

GorillaApe
źródło

Odpowiedzi:

17

Tak. 120 KB dla samego HTML (!) Można znacznie skompresować. Wraz z plikami CSS i JavaScript. Przyspieszy to przeglądanie Internetu dla użytkowników i pozwoli zaoszczędzić przepustowość na serwerze.

Możesz wdrożyć kompresję za pomocą skryptu po stronie serwera i buforować skompresowane pliki, zmniejszając w ten sposób obciążenie procesora na zajętych serwerach.

MrWhite
źródło
36

Tak, prawie nie ma powodu, dla którego nie mogę używać GZIP przez cały czas. To jak uzyskiwanie bezpłatnej przepustowości i jest ono powszechnie obsługiwane. Zawsze miej to włączone!

Jedyne możliwe wady to

  1. Jeśli korzystasz z hosta współdzielonego z bardzo ograniczonymi zasobami procesora, ponieważ kompresja odbywa się na serwerze i zajmuje trochę procesora. Serwer musiałby być jednak bardzo przeciążony i / lub bardzo stary, aby miało to znaczenie w praktyce.

  2. Jeśli podajesz bardzo duże (a przez to duże mam na myśli 400 kilobajtów i więcej) dynamiczne strony internetowe. Kompresja bardzo dużych dynamicznych treści w locie może być wyjątkowo droga.

Ale z mojego doświadczenia są to oba rzadkie warunki skrajne; 99% czasu kompresja HTTP jest wyraźną wygraną.

Jeff Atwood
źródło
Ponadto powiem, że niektórzy dostawcy hostingu narzekają na fora i inne powszechnie używane strony internetowe, które używają gzip, powodują wyższe użycie procesora, o którym wspominał Jeff. Odpowiedź brzmi TAK, ale najpierw sprawdź opcje swojego dostawcy hostingu.
Ilian Iliev
Istnieje ryzyko ataku BREACH . Jeśli zdecydujesz się na kompresję gzip, UPEWNIJ SIĘ, że używasz atrybutu ciasteczka Same-site , ale nawet wtedy będzie niewielki procent użytkowników ze starymi wersjami przeglądarki zagrożonymi ...
goulashsoup
8

Czy dobrą praktyką jest używanie gzip, czy nie?

Zależy od środowiska twojego serwera.

Jeśli na serwerze kończy się czas bezczynności procesora, dodanie deflacji GZIP może faktycznie spowolnić szybkość, z jaką serwer odpowiada na żądania.

Jeśli jednak nie masz obecnie do czynienia z wąskim gardłem procesora, deflacja GZIP to świetny pomysł, ale tylko w przypadku plików tekstowych.

Większość formatów plików graficznych (tj. PNG, JPG, GIF) jest już skompresowanych, a deflacja GZIP jest stratą czasu procesora.

danlefree
źródło
Jak mogę uniknąć kompresji tych plików w Apache?
GorillaApe,
4
Użyj AddOutputFilterByTypedyrektyw - więcej informacji znajduje się mod_deflatew podręczniku Apache: httpd.apache.org/docs/2.0/mod/mod_deflate.html
danlefree
1
Większość skompresowanych formatów multimediów również zyskuje bardzo niewiele na spakowaniu. Obejmuje to pliki MP3, AVI, MP4, MPG i PDF.
Lèse majesté