Gzip Sıkıştırması Hakkında Bilinmesi Gerekenler Nelerdir?
WPCS WPCS_VERSION

Müşteri Paneli
TÜRKÇE
WPCS WPCS_VERSION
Gzip Sıkıştırması Hakkında Bilinmesi Gerekenler Nelerdir?
İYİBİRHOST BLOG

Gzip Sıkıştırması Hakkında Bilinmesi Gerekenler Nelerdir?

HTTP içeriğinin sıkılaştırmasına yarayan gzip sıkılaştırma uygulaması dosya tamamen sunucuya iletilmeden önce Unix ve Unix benzeri sistemlerde yaygın bir şekilde kullanılan dosya biçim şeklidir. Tarayıcıya servis edilen dosya boyutlarında %80’e kadar küçültme işlemi gzip sıkılaştırma ile yapılabilir. Bu sayede gönderilecek dosya boyutunu küçülterek ve daha kısa sürede gönderilmesi sağlayacaktır. Buda azaltılmış sayfa yükleme süresi  demek olur. Azaltılmış bant genişliği tüketimi ve azaltılmış SSL yükü ile sonuçlanmış olur.

Gzıp Sıkılaştırmasına Uğrayan Dosya Türleri

  • gz– gzip algoritması ile sıkıştırılmış bir dosya uzantısıdır.
  • tar dosyası, tarball birden çok dosyanın arşivleme işleminde tercih edilen bir yöntemdir. Sıkılaştırma işlemi sayesinde arşivleme yapılır.
  • tgz, .tar.gz, .gz dosyası gzip ile sıkılaştırma yapılmış bir .tar dosyasını ifade eder.

Gzip Sıkılaştırma Komutu Nasıl Etkinleştirilir?

Gzip sıkılaştırma yönteminin pek çok çeşit kullanım alanı mevcuttur. Aşağıda da bir kaç kullanım alanı belirtilecektir.

WordPress uygulamasında gzip etkinleştirme işlemi gzipi destekleyen bir caching eklentisi kullanılarak gerçekleştirilebilir. Yada htaccess dosyası kullanılarak etkinleştirme yapılabilir. Bu işlem WordPress hız optimizasyon işleminin yapılması ile otamatik olarak yapılmaktadır. Buda kullanıcılara kolaylık sağlayacaktır.

Apache gzip etkinleştirme işlemi için ise gzip sıkılaştırma komutlarından yararlanılır. htaccess dosyasının sonundaki mod_deflate modülünün içerisine gzip sıkılaştırma komutlarının mutlaka yerleştirmesi gerekir. Bu kod örnekte ki gibidir.

  • # 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 sunucusunda gzip etkinleştirme işlemi yapılırken de gzip sıkılaştırma komutları kullanılır. Komutların nginx.conf dosyasına eklenmesi ile etkinleştirme işlemi tamamlanmış olacaktır. Bu kod aşağıda ki gibidir.

  • 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 Etkinleştirme İşleminden Sonra Doğrulama İşlemi Nasıl Yapılır?

Gzip etkinleştirme işleminin ardından ilk izlenecek adım etkinleştirme işleminin doğrulanması olacaktır. Bu işlemi gerçekleştirmek çok basittir. Bir cok online araçlardan faydalanılarak yapılabileceği gibi tarayıcıda yer alan HTTP yanıt headerlarını kontrol edilmesi yöntemiyle de kontrol tamamlanır. Herhangi bir  online araçtan gzipin varlığını kontrol etmek yeterlidir. Yada HTTP yanıt headerlarını cURL yardımı ile kontrol etmek yeterli olacaktır.

curl -H “Accept-Encoding: gzip” -I https://sitename.com komutunu kullanarak bu basit bir işlem haline gelecektir.

Gzip Sıkılaştırma İşlemini Tüm İçerik Dağılım Ağları (CDN) İle Birlikte Kullanmak!

Çoğunluk ile tüm içerik dağılım ağları (CDN)  dosyaları gzip sıkılaştırma işlemi sayesinde otomatik sıkılaştırma yoluna gider. Bu sayede dosya sıkılaştırma işlemi için kolaylık sunar. Bu da kullanıcıyı sıkılaştırma işlemi olup olmadığını kontrol etme zahmetinden kurtarır. Çok çeşit  Front-end-optimizasyon-tekniklerini destekleyen tüm içerik dağılım ağları  (CDN) bu sayede gidecek dosya boyutunu küçültme işlemi yapmak için gzip sıkılaştırma ile birlikte kullanılır. Bu teknikler dosyada yer alan beyaz boşlukları (whitespace) ve çokça tekrar eden değişken isimlerden arındırır. Bu öğeler dosya kodlarında kırpılır. Bu sayede sıkılaştırma işleminden önce yapılan optimizasyon işlemleri sayesinde boyut yarı yarıya azalır.

JavaScript, HTML ve CSS site içeriklerinin çoğunu pek çok  CDN  otomatik olarak küçültme yoluna gider. Bir dosyayı gzio sıkılaştırma işleminden önce küçültmek çoğu kişi tarafından gereksiz kabul edilir. Fakat CDN sayesinde tar dosyalarında %5 ile %10 ek küçülme oranı görülmüştür. Tüm içerik dağılım ağları (CDN) hem küçültme işlemi hem de gzio sıkılaştırma işlemi sayesinde dosyaların daha kısa sürede kullanıcıya daha küçük boyutta ulaşmasını sağlar.