Brotli Nedir ? Neden Brotli’yi Tercih Etmeliyiz ?
Brotli Nedir ?
Brotli, 2016 yılında Google tarafından geliştirilen bir sıkıştırma algoritmasıdır. İnternet sitenizdeki dosyaların boyutlarını belirli bir seviyeye kadar sıkıştırıp küçülterek sitenizin daha hızlı açılmasını ve trafik yükünün dengeli olmasını sağlamaktadır.
Brotli Nedir ? Neden Brotli’yi Tercih Etmeliyiz ? bu soruların cevabını arıyorsanız eğer yazımızı mutlaka okumalısınız.
Brotli ile Gzip Karşılaştırması
Web site sahipleri içeriği sıkıştırmaları için en çok kullandığı yöntem olan GZIP’ den başka bir sıkıştırma yöntemi olduğunun henüz farkında değiller. Özellikle web siteniz düzenli olarak fazla trafik sayıda alıyorsa, Brotli sıkıştırma yöntemi web sitenizi rahatlatma konusunda kesinlikle çok işinize yarayacaktır. Trafiği dengelemek ve aşırı bant kullanımını engelleyecektir.
Gzip ile karşılaştırıldığında, Brotli 1KB ve 16 MB arasında bir kayar pencere kullanırken, Gzip 32 kb sabit bir pencere kullanmaktadır. Brotli algoritması CSS, HTML ve JS gibi formatlarda %17 ile %25 arasında daha fazla sıkıştırma oranı sağlamaktadır. Mobil cihazlarda dadekompresyon maliyeti daha düşük olduğu için, cihazın pil ömrü ve hızı açısından mükemmel bir performans sağlamaktadır. Ayrıca resim dosyalarında sıkıştırma gerçekleştirilirken kayıp oranını en aza indirmektedir.
Örnek verecek olursak eğer bir HTML dosyası GZIP ile sıkıştırılması durumunda %78 oranında bir performans gösterirken bu oran Brotli’de %82 olarak değiştiği görülmüştür. Arada ki bu %4’lük iyileştirme az bir rakam gibi görünse de, yüzlerce hatta milyonlarca veri aktarımı içinde %4’lük bir veri azalması kayda değer bir azalma olmaktadır.
Brotli ve GZIP algoritmasının aynı şekilde çalıştığı hız da da durum Brotli’nin lehine olacaktır. Çünkü Gzip’in fabrika sıkıştırma ayarlarında, en yakın kıyaslanabilir Brotli’nin %22 daha hızlı sıkıştırma yaptığı görülmektedir. Yani, Brotli sıkıştırma algoritması ortalama bir dosyanın boyutunu biraz daha küçültmekle kalmayıp bunu Gzıp’den daha hızlı yaparak rakibinin önüne geçiyor.
- Google, diğer sıkıştırma algoritması olan Zopfli’ ye kıyasla Brotli’nin %20-26 daha fazla performans gösterdiğini söylemektedir.
Neden Brotliyi Tercih Etmeliyiz ?
Gzip ile karşılaştırıldığında Brotli performansı:
- JavaScript için% 14 daha küçüktür.
- HTML için% 21 daha küçüktür.
- CSS için% 17 daha küçüktür.
Bu özellikleri göz önüne alarak Brotli’nin tercih edilmesi daha mantıklı olacaktır.
Brotli Sıkıştırma Yönteminin Faydaları Nelerdir ?
- Daha hızlı web sitesi erişimi sağlamaktadır.
- HTTPS protokolü sayesinde güvenli iletişim sağlar.
- Google’da güven arttırmayı sağlar.
- Aşırı trafik tüketiminin önüne geçerek trafik dengelemesi sağlamaktadır.
- Gzıp ve Zopfli ye kıyasla daha yüksek performans gösterir.
Brotli Nasıl Çalışır ?
- İlk olarak kullanıcı Brotli’yi destekleyen bir sunucuda çalışmakta olan bir web sitesine ya da web uygulamasına erişmeli.
- Daha sonra tarayıcı, ne tür bir içeriğin açılacağını Accept-Endcoding başlığı kullanarak sunucuya bildirir.
- Ardından 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 belirterek tarayıcıya başlığı gönderir.
- Tarayıcı, sayfada gösterilmeden önce verileri açar.
Sıkıştırılmış verileri Brotli’ye aktarmanın iki yolu vardır:
- Brotli’yi web sunucumuzda etkinleştirmek
- Brotli’yi CDN’lerde etkinleştirmek
Brotli’yi web sunucumuzda etkinleştirmek
Brotli hizmetini web sunucularımızdan sunmayı seçtik ve nginx üzerine kurduk. Google, nginx’in kaynaktan yüklenmesini gerektiren bir modül sağlamıştır. Kurulduktan sonra, aşağıdaki ayarların nginx conf dosyasına yerleştirilmesi gerekir:
brotli on;brotli_static on; # for static compression, explained laterbrotli_comp_level 11; # this setting can vary from 1-11brotli_types text/plain text/css application/javascript application/json image/svg+xml application/xml+rss;
Bundan sonra, brotli_types ayarında seçilen tüm içerik türleri brotli sıkıştırılacaktır.
İşte bu kadar basit bir şekilde işleminizi gerçekleştirebilirsiniz.
Brotli’yi CDN’lerde etkinleştirmek
Brotli’yi etkinleştirmenin bir başka yolu da CDN’dir. Bu seçenekte web sunucumuz sıkıştırılmış verileri gönderecek, ardından CDN sadece önbelleğe alacak ve tarayıcıya aktaracaktır. Bu şekilde herhangi bir kod yazmanıza veya herhangi bir şey yüklemenize gerek kalmaz, ancak bu hizmet ücretli olabilir.
Dinamik ve Statik Sıkıştırma Yöntemi
Dinamik sıkıştırma, dosyaları anında sıkıştırmak anlamına gelirken statik, dosyaları bir kez sıkıştırmak ve ardından her seferinde önbellekten sunmak anlamına gelir. Javascript ve CSS dosyalarımız için statik sıkıştırma kullandık, çünkü bunlar değişmeyecek (yeni bir yapı dağıtılıncaya kadar). Tüm bu dosyalar daha sonra CDN’de önbelleğe alınır ve oradan sunulur.
SONUÇ
Bu yazımızda Brotli’nin ne olduğundan, faydalarından ve diğer rakiplerine kıyasla ne kadar başarılı olduğundan bahsettik.
İnternet sitenizdeki dosyaların boyutlarını belirli bir seviyeye kadar sıkıştırıp küçülterek sitenizin daha hızlı açılmasını ve trafik yükünün dengeli olmasını sağladığını öğrendik. Bu yazdığımız yazının sizler için yararlı olacağını umuyoruz.
Brotli Nedir ? Neden Brotli’yi Tercih Etmeliyiz ? başlıklı yazımız ile ilgili aklınıza takılan sorularınızın yanıtını alabilmeniz için veya öneride bulunabilmeniz için aşağıda yer alan yorumlar kısmını kullanarak bizimle iletişime geçebilirsiniz.
Dilerseniz daha önce bloğumuzda paylaştığımız Inode Nedir ? Wordpress Inode Sorunu Çözümü başlıklı yazımızı da okuyabilirsiniz.