Brotli: Daha hızlı İnternet için yeni sıkıştırma algoritması

Görsel: Opensource.com

Brotli, kullanıcılara hızlı İnternet sağlamak amacıyla tasarlanan yeni bir açık kaynaklı sıkıştırma algoritmasıdır.

Çağdaş web sayfaları çoğunlukla HTML, CSS ve JavaScript’ten oluşan düzinelerce megabaytlardan meydana gelir ve bu yalnızca ağır indirmeler gerektiren resimler, videolar ve diğer büyük dosya içeriklerinden öncesidir. Bu tarz yüklemeler sayfaların neden sıkıştırılmış biçimlerde aktarıldığını açıklıyor, bu içerikler web sitesi ziyaretçisinin bir web sayfasını istemesi ve sayfanın ekranda tümüyle yüklenmesi ve kullanım için hazır olması arasında geçen zamanı gözle görülür ölçüde artırıyor.

Brotli algoritması Eylül 2015’te Google tarafından duyuruldu, yakın zamanda da web tarayıcılarının çoğu bunu kendine uyarladı. Şimdilerde Apache ve nginx HTTP sunucuları Brotli sıkıştırmasını seçenek olarak sunuyor. Google dışında diğer kurumsal sağlayıcılar da (Cloudflare ve DreamHost gibi) Brotli’ye destek sunmaya başladılar.

Eski toprak gzip dosya sıkıştırma ve açma algoritmasıyla karşılaştırıldığında, Brotli’nin açık kaynaklı algoritması veriyi %20 ile %25 arası daha fazla küçültebiliyor. Brotli bu harika özelliği en yaygın sözcüklerin ve hecelerin bulunduğu sözlük ile hallediyor. Bu sözlük İngilizce, İspanyolca, Çince, Hintçe, Rusça ve Arapçanın yanısıra, makine tarafından okunabilir dillerin (özellikle HTML ve JavaScript) yaygın tümceciklerini içeriyor. Bu, Brotli’ye gzip, bzip2, LZMA gibi diğer sıkıştırma ve açma algoritmalarına karşı açık bir avantaj sağlıyor.

Daha fazlasını öğrenmek için, Cloudflare’in mühendisleri Brotli’nin diğer algoritmalarla karşılaştırılması hakkında ayrıntılar sunuyor. Mühendisler, bilgi dolu keşif ile birlikte Brotli’nin geliştirilmiş sıkıştırma yönteminin gerçek hayatta uygulanmasında yaratacağı potansiyeli büyüleyici bir bakış açısıyla aktarıyor. Brotli’nin şu anki durumuyla ilgili diğer bir değerli çalışma ise Discourse.org’un kurucularından Sam Saffron tarafından yapıldı. Saffron, Brotli’nin boyut ve hız tasarrufunu gösteren kıyaslama (benchmarking) setini, bununla birlikte Brotli’nin neden daha çok HTTPS için uygun olduğu üzerine destekleyici bir görüş sunuyor.

Birçok tarayıcının Brotli için destek sunmasıyla, biz de DreamHost’ta bu hareketi örnek aldık ve Aralık 2016’dan itibaren WordPress hizmetimiz DreamPress’te Brotli desteği sunmaya başladık. DreamPress TLS bağlantı ucu için nginx kullandığından, biz de Google’ın inşa ettiği ngx modülünü Brotli kütüphanesini başarıyla inşa etmek ve uygulamak için kullandık.

Brotli için tarayıcı desteği artarken, gün itibariyle kayda değer direnişler de var. Apple Safari’nin Brotli için henüz bir planı yok ve Microsoft yalnızca Edge tarayıcısı için destek düşünürken eski Internet Explorer kullanıcılarını göz ardı edecek. Microsoft’un IIS sunucusu, Brotli sıkıştırmayı sunucu tarafına ekleyen ücretsiz bir eklentiye sahip.

Eğer bir sitenin Brotli ile sıkıştırılmış bir içerik sunduğunu öğrenmek istiyorsanız, ilk önce tarayıcınızın content-encoding eklentisi olarak br‘yi istediğini ve header’daki yanıta bakın:

(“Bizim zamanın etkisi” şeklinde bir köşe notu bırakalım, başlangıçta önerilen “bro” eklentisi Amerikan İngilizcesindeki kullanım amacı nedeniyle çok fazla sözel yüke sahip olduğundan reddedilmişti. Yine de “bro” yerine br olarak adlandırmak herkese bir bayt kazandırmış oldu.)

Bir sitenin Brotli’yi destekleyip desteklemediği KeyCDN.com’un sunduğu araç ile kolayca öğrenilebilir.

Gerçekte, Brotli’yi kullanmaktan kaynaklanan hız avantajı kendini kullanıcıya her zaman hissettirmeyebilir. Aynı zamanda, tümüyle yeni bir açık kaynaklı sıkıştırma algoritmasının geliştirilmesine sık rastlanmıyor ve bu onu takdir edilecek bir konuma koyuyor. Biz DreamHost’ta açık kaynağı sevdiğimizden ve yıldızımız uyuştuğundan bu seçeneği sunmaya başladık. Ve çalışıyor.

Lisans: Bu metin CC BY-SA 4.0 lisansı altında dağıtılan Brotli: A new compression algorithm for faster Internet” metninden çevrilmiştir. Özgün metin Stefano Maffulli tarafından yazılmıştır. Çeviri metni CC BY-SA 4.0 altında lisanslanmıştır.

“Brotli: Daha hızlı İnternet için yeni sıkıştırma algoritması” için 1 yorum

Yorumlar kapatıldı.