htaccess Snippets

Kompresja Gzip

Słyszałeś? U mnie pomogła kompresja GZIP, dzięki temu dostałem w Google więcej punktów. Te lub podobne opinie można spotkać na wielu forach internetowych. Kompresja zmniejsza czas reakcji poprzez zmniejszenie rozmiaru odpowiedzi HTTP. GZIP jest najbardziej popularną i skuteczną metodą kompresji. Może doprowadzić do sporej kompresji przy przesyłanych plikach a co za tym idzie większej konwersji w sklepie lub poczytalności treści Twojej strony. Wszystkie nowoczesne przeglądarki obsługują i automatycznie negocjują (rozmawiają 🙂 ) kompresję GZIP.

Każda strona internetowa to tekst, zdjęcia, skrypty, które zostaną wyświetlone w przeglądarce internetowej. Jednak zanim do tego dojdzie, twoja przeglądarka musi wysłać komendę do serwera na którym jest strona, aby ten w odpowiedzi pozwolił na pobranie wszystkich plików dotyczących witryny oraz ich interpretację. Dzięki temu na ekranie wyświetli się cała strona. Kluczowym w tym przypadku elementem jest etap pobierania plików – i to właśnie od niego zależy jak szybko strona wczyta się w przeglądarce. Na ratunek przychodzą tutaj rozmaite triki programistyczne, do których należy wspomniana kompresja GZIP.

GZIP – metoda kompresji „w locie”, która wykonywana jest po stronie serwera. Dzięki temu pobrane dane są mniejsze niż w rzeczywistości, a to wpływa korzystnie na ładowanie serwisów. Na serwerach kompresja gzip obsługuje takie formaty jak text/html text/plain text/css text/javascript, co pozwala również przyśpieszyć działanie witryn opartych na protokole SSL.

Jak bardzo przyśpieszy moja strona po zastosowaniu kompresji gzip?

Wyniki mogą być różne, w zależności od tego jak wymagająca jest Twoja strona WWW i czy stosujesz dla niej szyfrowanie po protokole https://. Nie jest możliwe w tej sytuacji jednoznaczne udzielenie gwarancji o ile sekund szybciej będzie się ona wgrywać. Najlepiej w tym przypadku sprawdzić optymalizację strony w serwisach, które analizują wykorzystane przez Ciebie skrypty, grafiki, kody CSS i HTML. Do najbardziej popularnych należą Google PageInsights oraz GTmetrix. Pamiętaj, że kompresja gzip nie obejmie danych, które są pobierane z zewnętrznych serwerów. Jeżeli posiadasz odnośniki do skryptów (np.javascript) umieszczonych poza własnym serwerem – musisz postarać się, aby nie były one zbyt duże.

Jak uruchomić kompresję gzip na moim serwerze?

Kompresja działa automatycznie. Nie musisz dodawać specjalnych kodów oraz instalować wtyczek dla aplikacji CMS. Gzip jest uruchamiany za każdym razem, gdy ktoś spróbuje wyświetlić Twoją stronę www np. poprzez protokół https://.

 

Na serwerze bazującym na Apache wykonuje się to za pomocą pliku „.htaccess” i zależnie od wersji

# BEGIN GZIP
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
# END GZIP

To jest typowa lista typów MIME, która ma zastosowanie do gzip.

<IfModule mod_filter.c>
AddOutputFilterByType DEFLATE "application/atom+xml" \
"application/javascript" \
"application/json" \
"application/ld+json" \
"application/manifest+json" \
"application/rdf+xml" \
"application/rss+xml" \
"application/schema+json" \
"application/vnd.geo+json" \
"application/vnd.ms-fontobject" \
"application/x-font-ttf" \
"application/x-javascript" \
"application/x-web-app-manifest+json" \
"application/xhtml+xml" \
"application/xml" \
"font/eot" \
"font/opentype" \
"image/bmp" \
"image/svg+xml" \
"image/vnd.microsoft.icon" \
"image/x-icon" \
"text/cache-manifest" \
"text/css" \
"text/html" \
"text/javascript" \
"text/plain" \
"text/vcard" \
"text/vnd.rim.location.xloc" \
"text/vtt" \
"text/x-component" \
"text/x-cross-domain-policy" \
"text/xml"

</IfModule>
4/5 - (4 votes)

web-port.pl

Agencja marketingowa i reklamy w Kudowie Zdroju. Tworzymy porządne strony, sklepy internetowe wraz z identyfikacją wizualną. Pasjonaci grafiki i kodu od powstania WWW :)

Dodaj komentarz:

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>