Brotli, Google tarafından 2016 yılında piyasaya sürüle bir sıkıştırma algoritması. Brotli ile internet sitelerinin dosya boyutlarını daha hızlı bir şekilde sıkıştırabilir, küçültebilir ve böylelikle transferlerin daha hızlı olmasını sağlayabilirsiniz. Daha önceleri “boyut küçültme nasıl yapılır” sorusunun yanıtlarından biri ve en çok tercih edileni GZIP iken şimdi Brotli farklı bir alternatif olarak çıkıyor karşımıza.
Faydaları nelerdir?
1- Daha hızlı web sitesi erişimi
2- Geliştirilmiş güvenlik
3- Google’da güven arttırma.
4- Aşırı trafik tüketiminin önüne geçer çünkü trafik dengelemesi sağlar
5- Mevcut LZMA uygulamasına oranla daha hızlı açar
Brotli nasıl tasarlandı?
Brotli, Huffman kodlamasını ve LZ77 algoritmasının bir değişkenini kullanır; bu, geri referanslar için kayan bir pencere oluşturulmasını sağlar. Gzip 32 kb sabit bir pencere kullanırken, Brotli 1KB ve 16 MB arasında bir kayar pencere kullanır. Bu Brotli’nin CWND ve RWND’yi optimize edebildiği ve daha büyük sıkıştırılmış dosyaları daha verimli sunabileceği anlamını taşır. Peki brotli nasıl çalışır?
* Kullanıcı, Brotli’yi destekleyen bir sunucuda çalışan bir web sitesine veya web uygulamasına erişir.
* Tarayıcı, Accept-Endcoding başlığı kullanarak ne tür bir içeriği açabileceğini sunucuya bildirir.
* Sunucu, istekte bulunan sıkıştırma algoritmalarını baz alarak hangi tür sıkıştırılmış içeriğin yayınlanacağına karar verir.
* Sunucu content-encoding kullanılan yöntemi belirtir ve tarayıcıya başlık gönderir.
* Tarayıcı, sayfada gösterilmeden önce verileri açar.
"Brotli" ve "Gzip," web sayfalarının sıkıştırılması ve daha hızlı yüklenmesi için kullanılan iki farklı veri sıkıştırma yöntemidir. Hangi sıkıştırma yönteminin kullanılacağı, bir dizi faktöre bağlıdır. İşte bu iki yöntemin karşılaştırması:
Sıkıştırma Oranı:
Performans:
Tarayıcı Desteği:
Sunucu Yapılandırması:
Dosya Türleri:
Sonuç olarak, Brotli, daha etkili bir sıkıştırma sağlar ve daha hızlı performansa sahiptir, ancak sunucunuzun ve tarayıcıların desteklemesi gerekebilir. Gzip, daha yaygın olarak desteklenir ve hâlâ iyi bir performans sunar. Hangi sıkıştırma yönteminin kullanılacağı, projenizin gereksinimlerine ve kullanıcı tabanınıza bağlı olarak değişebilir. Bazı durumlarda, her iki sıkıştırma yöntemini de kullanmak en iyisi olabilir.