Web Sitesi Sıkıştırma Algoritmalarının Karşılaştırılması
Web Sitesi Sıkıştırma Algoritmalarının Karşılaştırılması
Tüketiciler, dijital içeriklere ve hizmetlere erişmek için giderek daha fazla web uygulamalarını kullanmayı tercih eder hale geldiler. Bir Google araştırmasına göre, insanların % 40’ı yüklenmesi 3 saniyeden fazla süren bir web sitesini terk ediyor. Yani bir web sitesinin açılma hızı web site sahipleri için büyük önem arz eder hale geldi. Bu yazıda Brotli ve Gzip algoritmalarıyla web sitelerinin nasıl hızlandırmasına katkısı olduğunu ve karşılaştırmalarını göreceğiz.
Brotli Nasıl Çalışıyor?
Gzip gibi, Brotli de bir sıkıştırma algoritmasıdır. Google tarafından geliştirilmiştir. İstemci hem de sunucu tarafında ortak anahtar sözcükler ve deyimler sözlüğü kullanarak daha iyi bir sıkıştırma oranı sağlar. Esas olarak küçük metin belgeleri için optimize edilmiştir. Bu nedenle, HTML sayfaları ve yazı tipleri gibi statik içeriği sunmak için daha uygundur.
- Bir kullanıcı web sitesine internet tarayıcısı aracılığıyla erişim isteği gönderir.
- İnternet tarayıcısı sunucuya ne tür bir içeriği açacağını Accept-Encoding (Kabul-Kodlama) üst bilgisi ile bildirir.
- Sunucu istekte bulunan sıkıştırma algoritmalarına dayanarak hangi sıkıştırılmış içeriğin teslim edileceğine karar verir.
- Sunucu kullanılan yöntemi belirten, Content-Encoding (İçerik-Kodlama) üst bilgisini internet tarayıcıya gönderir.
- İnternet Tarayıcı verileri önce açar ve sonrasında sayfada gösterir.
Gzip Nasıl Çalışıyor?
İnternette en çok kullanılan sıkıştırma algoritmasıdır. Brotli’nin aksine, Gzip çoğunlukla web sayfalarını, .tar arşivlerini ve metin dosyalarını sıkıştırmak için kullanılır. Orijinal dosya modunu, zaman damgasını ve sahipliği koruyarak bir dosyanın boyutunu küçültmeye izin verir. Gzip’in önceden belirlenmiş 9 kalite ayarı vardır ve 1’den 9’a kadar etiketlenmiştir. WordPress gibi popüler uygulamalar, Gzip’i kutudan çıkar çıkmaz destekler. Ve kullanıcılar web sitelerini birkaç tıklama ile kolayca sıkıştırabilir.
- İnternet tarayıcı index.html web serverdan varsa eğer index.html’in sıkıştırılmış halini ister.
- Sunucu dosyayı bulur.
- Sunucu index.html dosyasını sıkıştırır ve gönderir.
- Web tarayıcı boyutu düşmüş olan dosyayı internet tarayıcıda gösterir.
Sıkıştırma Boyutu
Brotli’nin Gzip’e göre en iyi avantajı, kendisiyle sıkıştırılan HTML, CSS ve JavaScript dosyalarının Gzip’ten daha küçük olmasıdır.
Ancak, sıkıştırma performansı Gzip ile karşılaştırıldığında biraz daha yavaş olduğundan daha az uygun bulunmuştur.
Tarayıcı desteği
Ne yazık ki, Brotli’nin ana dezavantajlarından biri tarayıcı desteğidir. Tüm tarayıcılar tarafından desteklenmemektedir. Brotli’yi destekleyen başlıca tarayıcıların belirli versiyonları ve üst versiyonları tarafından desteklenmektedir. Brotli’yi destekleyen tarayıcıların listesini görebilirsiniz.
Öte yandan Gzip, 1990’lardan beri sektörün içindedir. Tüm tarayıcılar için en uygun olanıdır ve aktarım hızı süresini kısaltır. Ancak yalnızca normal dosyaları sıkıştırabilir.
Web Sunucusu Desteği
Brotli’nin çalışması için sunucu tarafında yapılandırma değişiklikleri gerektirir. gzip tüm büyük web sunucularında bir standart olarak gelir.
Neyse ki Google, Nginx web sunucusu için bir Brotli uzantısı sunmaktadır. Aynı şekilde, Apache’nin de kendi Brotli uzantısı vardır. Bununla birlikte, Brotli uzantısı, en iyi performansı elde etmek için parametrelerde ince ayar yapılmasını gerektirir. Windows Server kullanıcıları için, IIS web sunucusu resmi olarak desteklemediğinden Brotli en iyi seçenek olmayabilir.
Bununla birlikte, Brotli desteğine sahip web sunucularının da gzip sıkıştırmasını korumaları gerekir. Bu, web sunucusunun Brotli destekli olmayan web sitelerinden gelen istekleri de işlemesine yardımcı olur.