IHS Blog

Gzip Sıkıştırması Nedir?

gzip-sikistirmasi-compression-nedir

Gzip, HTTP içeriğini sıkıştırmak amacıyla ve dosya sunucuya gönderilmeden önceki aşamada Unix ve Unix benzeri sistemlerde kullanılan bir dosya biçimi ve yazılım uygulamasıdır. Gzip sıkıştırması ile işlem gören ve tarayıcıya servis edilen dosya boyutunun yüzde 80’e kadar küçültebildiğini biliyoruz, bu da iyileştirilmiş sayfa yükleme süresi, azaltılmış bant genişliği tüketimi ve azaltılmış SSL yükü (bir SSL handshake (el sıkışması) sırasında gidiş dönüş sayısında düşüş olacağı için) ile sonuçlanır.

Gzip ile ilgili dosya türleri:

Gzip Komutunu Etkinleştirme

Gzip, aşağıda bilgileri verilen platformlar dahil olmak üzere birçok platforma uygulanabilir.

WordPress Gzip Etkinleştirme

Gzip’i destekleyen bir caching (önbellekleme) eklentisi kullanarak veya .htaccess dosyası kullanarak WordPress’te gzip’i aktifleştirebilirsiniz. Genellikle wordpress hız optimizasyonu yapan cache eklentilerinin tümünde gzip sıkıştırması otomatik olarak yapılmaktadır.

Apache Gzip Etkinleştirme

Apache web sunucusunda gzip’i aktifleştirmek için ise gzip sıkıştırma komutlarını .htaccess dosyasının sonundaki mod_deflate modülünün içine eklemelisiniz.

Örnek:

# Compress HTML, CSS, JavaScript, Text, XML and fonts
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml

NGINX Gzip Etkinleştirme

NGINX sunucusunda gzip’i aktifleştirmek için, aşağıdaki kod satırları nginx.conf dosyasına eklenmelidir:

gzip on;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
gzip_vary on;
gzip_types text/plain text/css text/javascript image/svg+xml image/x-icon application/javascript application/x-javascript;

Gzip Aktivasyonunu Doğrulanması

Gzip’i aktive ettikten sonraki adım, giden dosyalarınızı sıkıştırdığını doğrulamak olacaktır. Bu işlem ya mevcut birçok online araçtan birini kullanarak ya da tarayıcıdaki HTTP yanıt headerlarını kontrol ederek yapılabilir. Örneğin, Google Chrome’daki devtool üzerinde Network > Headers sekmesinde, İçerik Kodlama (Content-Encoding) başlığı altında Gzip’in varlığını kontrol ederek çalıştığından emin olabilirsiniz.


Ek olarak, HTTP yanıt headerlarını cURL kullanarak kontrol etmek mümkündür, aşağıdaki komutu girerek bunu yapabilirsiniz:

curl -H "Accept-Encoding: gzip" -I https://sitename.com

Yanıt kısmında, gzip, Content-Encoding başlığında listelenmelidir:

HTTP/1.1 200 OK
Server: nginx
Date: Mon, 21 Jul 2014 01:12:36 GMT
Content-Type: text/html; charset=UTF-8…
Vary: Accept-Encoding
Content-Encoding: gzip

Gzip’i CDN ile Birlikte Kullanma

Neredeyse tüm içerik dağıtım ağları (CDN’ler) gzip aracılığı ile otomatik dosya sıkıştırma imkanı sunar. Bu da sizi sıkıştırma işleminin olup olmadığını doğrulama zahmetinden kurtarır.

Ek olarak, CDN’ler genel olarak birçok front-end optimizasyon tekniklerini destekler ve böylece giden dosya boyutunu daha da küçültmek için bu özellikler gzip ile birlikte kullanılabilir.

Bu teknikler, beyaz boşlukları(whitespace) ve tekrar eden değişken isimleri gibi öğelerin dosya kodundan kırpıldığı ve sıkıştırma işleminden önce dahi boyutunu yarı yarıya azaltıldığı bir optimizasyon sürecini içerir. Çoğu CDN otomatik olarak tüm JavaScript, HTML ve CSS site içeriklerinin çoğunu küçültür.

Bir dosyayı gzip ile sıkıştırmadan önce küçültmek her ne kadar gereksiz görülse de, tar dosyası boyutunu ek olarak bir % 5-10 daha küçülttüğü görülmüştür. CDN’ler hem küçültmeyi hem de gzip sıkıştırma işlemini yapabildiğinden, sayfa yüklenme sürelerini önemli bir şekilde düşürerek kullanıcılarınıza düşük boyutta kod dosyaları iletmenizi sağlar.

 

Exit mobile version