2011-02-10 15 views
14

Przeczytałem kilka artykułów o kompresji nagłówków HTTP. Dzisiaj zainstalowałem YSlow i zaleca kompresowanie zasobów (text/html, javascript, css i images). Teraz czytam dokumentację dla Apache mod_deflate, ale w tym przykładzie nie kompresuję obrazów.Dlaczego nie powinienem kompresować obrazów w nagłówkach HTTP?

Czy powinienem/powinienem kompresować obrazy na mojej stronie?

+0

YSlow zaleca skompresowanie * obrazów *? Jesteś pewny? To brzmi jak dziwna rada. –

Odpowiedz

34

Twoje obrazy powinny być już skompresowane - każda dodatkowa kompresja nie będzie miała żadnego zauważalnego wpływu na rozmiar pliku, ale zwiększy czas przetwarzania.

Bardzo rzadko kompresowanie plików, które zostały już skompresowane, powoduje zmniejszenie wielkości pliku i często zwiększa rozmiar pliku.

+0

+1 Dziękuję za te informacje: D –

+0

@ Agusti-N moja przyjemność :) – Skilldrick

+1

@Agusti: jeśli twoje obrazy są zdekompresowane, jak na przykład powiedz, pliki .bmp, powinieneś przekonwertować je na .png lub .jpg, w zależności od potrzeb , a następnie obsłuż wersję przekonwertowaną, oczywiście :) –

2

Obrazy takie jak GIF, JPEG lub PNG są już skompresowane za pomocą wysoce wyspecjalizowanych algorytmów, które osiągają lepsze wyniki niż algorytmy ogólnego przeznaczenia, takie jak deflate.

Dlatego ich ponowna kompresja daje niewielki lub żaden przyrost rozmiaru, a nawet może zwiększyć rozmiar plików, z dodatkowym kosztem przetwarzania po stronie serwera.

Innymi słowy ... nie kompresuj obrazów.

Powiązane problemy