İnternet hızlarının yükselmesine rağmen internet servislerinin kullanımında bantgenişliği son kullanıcılar için önemli bir problem. Bu noktada Gzip gibi sıkıştırmalar ise kullanımı verimli hale getirmeye yaramaktadır. Sıkıştırma içerik daha sunucudan gönderilmeden önce dosya boyutunun düşürülmesiyle elde edilmektedir. Gzip en popüler sıkıştırma yöntemleri arasında yer almaktadır. Günümüzde web sunucuları ve tarayıcılar arasında verinin sıkıştırılması ve açılması neredeyse anlık olarak gerçekleşmektedir. Genellikle kod ve metin dosyalarında kullanılan Gzip internet sitesini oluşturan JavaScript, CSS ve HTML dosyalarını %90 orana kadar sıkıştırabilmektedir.

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

Gzip, Unix ve Unix benzeri sistemlerde HTTP içeriğin istemciye sunulmadan önce sıkıştırıldığı yazılım ve dosya uzantısıdır. Dosyanın sıkıştırılması sayesinde sayfa yüklenme süreleri de önemli ölçüde düşmektedir. Bu aynı zamanda daha az bantgenişliği kullanımı ile beraber SSL el sıkışmasının daha kısa sürede tamamlanmasını sağlamaktadır. Gzip algoritması kullanılarak sıkıştırılan dosyalar “.gz” uzantısını kullanmaktadır. Bununla beraber “.tar” uzantılı dosyalar çok sayıda dosyanın sıkıştırma değil arşiv için saklandığı dosyalardır. Gzip “.tar” dosyalarını da sıkıştırmaktadır. Son olarak “.tgz, .tar.gz ve gz” uzantılı dosyalar ise Gzip ile sıkıştırılan “.tar” uzantılı dosyalar için kullanılmaktadır. Kısacası Gzip, bilgisayarlarda rar ve zip uygulamalarının yaptığı şey sunucularda yapmaktadır. 

Gzip Sıkıştırması Ne İşe Yarar?

Gzip sıkıştırması internet sitesini oluşturan dosyaların ziyaretçiye gönderilirken sunucu tarafından sıkıştırılmasıdır. Bu sıkıştırma işlemi farklı sıkıştırma seviyelerine sahiptir ve CPU kaynaklarını kullanmaktadır. Sıkıştırma seviyesinin yüksek olması dosya boyutunu düşürmektedir ancak daha fazla CPU kullanıma neden olmaktadır. Bu nedenle geliştiriciler genellikle neleri sıkıştıracağına ve ne kadar sıkıştıracağına karar vermelidir. Burada sitenin ya da uygulamanın ihtiyaçları göz önünde bulundurulmaktadır. Dosyanın sıkıştırılması bantgenişliği kullanımını önemli ölçüde düşürmektedir. Aynı zamanda internet sitesinin daha hızlı yüklenmesini de sağlamaktadır. Bu noktada dikkat edilmesi gereken Gzip sadece HTML dosyalarını, CSS dosyalarını ve JavaScript dosyalarını sıkıştırmaktadır. Görsel gibi diğer elementlerde Gzip sıkıştırması kullanılmamaktadır.

gzip sıkıştırması nedir

Gzip Sıkıştırması Avantajları Nelerdir?

Gzip sıkıştırmasının en büyük avantajı gönderilen veri miktarını önemli ölçüde düşürmesidir. Her bir istemci için transfer edilen dosya boyutunun düşürülmesi toplam tabloya bakıldığında önemli bir yer kaplamaktadır. Dosya boyutunun düşürülmesi ile beraber internet sitesinin cevap verme süresi de düşmektedir. Bu sayede kullanıcılar siteye çok daha hızlı bir şekilde erişebilmektedir. Boyutun düşmesi ile beraber bantgenişliği kullanımında da düşüş meydana gelmektedir. Gzip sıkıştırması bantgenişliği sınırlamasına sahip olan hosting kullanıcılar için önemli bir araç olarak kabul edilmektedir. Sınırlandırılan bantgenişliği sayesinde internet sitesi çok daha fazla sayıda kullanıcıya hizmet verebilmektedir. Sitelerini paylaşımlı hosting planlarıyla barındıran kişiler için Gzip sıkıştırması mutlaka yapılması gereken şeyler arasında yer almaktadır.

Gzip Sıkıştırması Neden Yapılır?

Gzip sıkıştırmasını kullanmanın birden çok nedeni bulunmaktadır. Gzip’in tercih edilmesinin en büyük nedeni kullanıcılara sunduğu avantajlardır. Gzip sıkıştırması ile beraber istemciye gönderilen HTML, CSS ve JavaScript dosyalarının boyutu %80’e kadar düşmektedir. Dosya boyutu verinin hızlı transfer edilmesi ve sitenin hızlı yüklenmesi anlamına gelmektedir. Boyutun düşük olması ile beraber kullanılan bantgenişliği miktarı da düşmektedir. Kullanıcı internet sitesini ziyaret ettiğinde sunucudan dosyalar istemciye gönderilmektedir. İnternet sitelerinde hedeflenen en önemli şeylerden bir tanesi transfer edilen dosyaların boyutunu düşürebilmektir. Sitede yer alan fotoğraflar ya da videoların bu nedenle sıkıştırılması gerekmektedir. Bununla beraber siteyi oluşturan HTML, CSS ya da JavaScript dosyaları her ne kadar daha düşük boyutlu olsa da sıkıştırma ile elde edilen veri tasarrufu yadsınamayacak kadar yüksek olmaktadır. 

Gzip Sıkıştırması Nasıl Yapılır?

Gzip sıkıştırması web sunucudan aktif hale getirilmektedir. Bu nedenle farklı web sunucularında farklı işlemler yapmak gerekmektedir. 

WordPress

Direkt olarak WordPress üzerinden Gzip aktivasyonu yapmak için çeşitli eklentiler bulunmaktadır. WP Rocket ya da W3 Total Cache eklentiler direkt olarak sitenin .htaccess dosyasına sıkıştırma için gerekli kodları eklemektedir. Ancak bunun yapılabilmesi için kullanıcının .htaccess dosyasına erişim izni olan bir kullanıcı olması gerekmektedir.

apache 

Apache

Apache web serverde Gzip sıkıştırmasını aktif etmek için .htaccess dosyasının sonuna aşağıda yer alan mod_deflate modülünü eklemek gerekmektedir. 

<IfModule mod_deflate.c>

# 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 

</IfModule>

NGINX

NGINX web sunucularında sıkıştırmayı aktif etmek için nginx.conf dosyasına aşağıda yer alan kod bloğunu eklemek yeterli olmaktadır.

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;