Bu İçerikte Bahsedilen Konular
Gelişen teknoloji ile birlikte internet tabanlı gelişmeler de hız kazandı. Geliştirilen her bir yöntemde amaç, internet kullanıcıları ve web sitesi sahiplerine daha iyi hizmet sunmayı hedefler. Hem kullanıcıların hem de web sitesi sahiplerinin zamandan tasarruf ederek, istedikleri bilgilere daha kısa sürede ulaşmalarını sağlamak için internet kullanımı amacıyla yapılan çalışmalar hız kesmeden devam ediyor.
Daha aktif internet kullanımı için geliştirilen “Brotli” de yeni yöntemlerden biridir. Google’da yazılım mühendisi olan Zoltán Szabadka ve Jyrki Alakuijala tarafından geliştirilen “Brotli”, kullanıcılara daha hızlı bir internet hizmeti sağlamak amacı ile tasarlanan, bir açık kaynak sıkıştırma algoritması olarak tanımlanabilir. Broltli sıkıştırma algoritması yaptıkları ve ve daha geliştirilmeye devam etmesi sebebi ile yapacaklarıyla da dikkat çekici bir algoritmadır. Dosya boyutlarını küçültmesi, web kullanıcılarının hem internette hızlı sörf yapmasına hem de bu süreçten keyif almasına yardımcı olur. Bu durum özellikle mobil kullanıcılar için daha büyük önem arz eder.
Yeni nesil bir web sıkıştırma yöntemi olan “Brotli”, Google tarafından 2015 yılında piyasaya sürüldü. Bu yöntem, web sitenizin trafik yükünün dengeli olması ve daha hızlı açılması için web sitenizde bulunan dosyaları belli bir seviyeye kadar sıkıştırır. “Brotli” ilk olarak 2015 yılında çevrimdışı olarak web yazı tiplerinin sıkıştırılması için çıkarıldı. Brotli’nin bu sürümü, özellikle “HTTP” protokolü sıkıştırması için geliştirilmişti. Kayıpsız veri sıkıştırmasına vurgu yapılan geliştirmeleri içeriyordu.
Üzerinde gerekli çalışmalar yapılarak kodlayıcı kısmen yeniden yazıldı ve sıkıştırma oranının artması sağlandı. Bu sayede hem “dekoder” hem de “kodlayıcı” hızlandırıldı. Akış API’si geliştirilerek, daha fazla sıkıştırma kalite seviyesi eklendi. Ayrıca bu geliştirilen yeni sürüm sayesinde, kod çözme ve bellek ihtiyacını azaltma ile birlikte platformlardaki performans geliştirmelerini gösterir hale geldi.
Son zamanlarda çoğu web tarayıcısı da Brotli’yi kendine uyarladı. Google, Zopfli olarak bilinen diğer sıkıştırma algoritmasından Brotli’nin %20 – %26 daha fazla performansa sahip olduğunu ifade ediyor. Özellikle çok sayıda trafik olan bir web siteniz varsa, Brotli sıkıştırma yöntemi web sitenizi kesinlikle rahatlatacaktır. Trafik yükünü dengelediğinizde, aşırı bant kullanımını da engellemiş olacaksınız. Ayrıca Brotli, web sitenizin daha hızlı yüklenmesini sağlamak için de web sitenizde bulunan dosyaları sıkıştırır.
Daha önce boyut küçültme için en çok tercih edilen ürün “Gzip” iken şimdilerde farklı bir alternatif olan “Brotli” tercih ediliyor. “Brotli”, “Gzip” ile karşılaştırıldığında, Brotli algoritması, HTML, JS ve CSS gibi formatlarda %17 ila %25 oranında daha fazla sıkışma sağlıyor. Ham veriye olan oranı ise, %70 gibi rakamlara kadar çıkıyor. Mobil cihazlarda düşük olan dekompresyon maliyeti sayesinde, cihazın hızı ve pil ömrü açısından performansı çok daha iyi bir sıralamada yer alıyor. Sonuç olarak “Brotli”, internet sitenizdeki dosya boyutlarını hızlı bir şekilde küçültebilir, sıkıştırabilir ve bu sayede transferlerin daha hızlı bir şekilde gerçekleşmesini sağlar. Web siteniz de daha hızlı erişilen bir yapıya daha az veri transferi sayesinde kavuşur.
Brotli Nasıl Çalışır?
“Brotli”, LZ77 algoritması ve Huffman kodlamasının bir değişkenini kullanır. Bu sayede geri referanslar için kayan bir pencere oluşturulmuş olur. Brotli, 1 KB ile 16 MB arasında kayar bir pencere kullanırken, “Gzip” 32 KB gibi sabit bir pencere kullanır. Bu da Brotli’nin “RWND” ve “CWND”yi optimize edebildiği anlamına gelir. Dolayısıyla daha büyük dosyaları sıkıştırarak daha da verimli hale getireceği anlamını taşır. Aşağıdaki maddeleme imgelerini takip ederek, Brotli’nin nasıl çalıştığını öğrenebilirsiniz.
1- Kullanıcının ilk yapacağı şey, bir web uygulamasına ya da web sitesine erişmek için Brotli’yi destekleyen bir sunucuda çalışmaktır.
2- Daha sonra tarayıcı, ne tür ve nasıl bir içerik atılacağını kabul – kodlama (Accept-Encoding) üstbilgisi ile sunucuya bildirir.
3- Ardından istekte bulunan sıkıştırma algoritmalarını baz alan sunucu, sıkıştırılmış olan içeriklerinden hangisinin teslim edileceğine karar verir.
4- Sunucu kullanılan yöntemi belirten, içerik-kodlama (content-encoding) üst bilgisini tarayıcıya gönderir.
5- Tarayıcı verileri önce açar, sonrasında sayfada gösterir. Sayfada gösterilmeden önce tarayıcı verileri açar. Verileri ekrana bu sayede hızlıca yansıtır.
Sıkıştırılmış Veriler Bortli’ye Nasıl Aktarılır?
Sıkıştırılmış verileri Brotli’ye aktarmanın 2 yolu vardır. Bunlardan ilki; web sunucunuzda Brotli’yi etkinleştirmektir. İkincisi ise CDN’lerde Brotli’yi etkinleştirmektir. Bu iki aktarma yolunu aşağıda detayları ile bulabilirsiniz.
Brotli’yi Web Sunucusunda Etkinleştirmek
Web sunucularından Brotli hizmeti seçilerek, “nginx” üzerine kurulur. Bu sayede Google, nginx’in kaynaktan yüklenmesi için bir modül sağlamış olur. Brotli kurulduktan sonra aşağıdaki ayarlar satırı, “nginx conf” dosyasına yerleştirilir.
- “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;”
Daha sonrasında Brotli_types ayarında seçilen tüm içeriklerin, Brotli tarafından sıkıştırılması gerçekleştirilir.
Brotli’yi CDN’lerde Etkinleştirmek
CDN Brotli’yi etkinleştirmenin başka bir yoludur. Bu seçenekte web sunucusu sıkıştırılmış verileri gönderir. Daha sonra CDN, verileri önbelleğe alarak tarayıcıya aktarır. Bu sayede herhangi bir şey yüklemenize ya da herhangi bir kod yazmanıza gerek kalmaz. Ancak dikkat etmeniz gereken husus, bu hizmetin ücretli olabileceğidir.
CDN nedir, avantajları nelerdir öğrenmek ister misiniz? CDN ile ilgili detaylı bilgileri içeren yazımıza buradan ulaşabilirsiniz.
Statik ve Dinamik Sıkıştırma Yöntemi
Statik sıkıştırma yöntemi: Dosyalar bir kez sıkıştırılarak, her seferinde ön bellekten sunulması anlamına gelir. Dinamik sıkıştırma ise anında dosyaları sıkıştırmak anlamına gelir. CSS ve Javascript dosyaları için statik sıkıştırma kullanılır. Çünkü yeni bir yapı dağıtılıncaya kar bunlar değişmez. Tüm bu dosyalar CDN’de önbelleğe alınarak oradan sunulur.
Brotli Sıkıştırma Tekniğinin Faydaları Nelerdir?
Bu yöntem, Brotli tercih eden web sitesi kullanıcılarına pek çok fayda sunar. Hızlı bir şekilde web sitenizin erişimini sağlar. En güvenilir iletişimi sağlamak için “HTTPS” protokolü kullanır. Google arama motorunda güven artırır. Aşırı trafik tüketiminin önüne geçerek, trafik dengelemesi sağlar. Diğer sıkıştırma algoritmaları olan “Zopfli” ve “Gzip” yöntemlerine göre daha iyi performans gösterir.
Neden Brotli’yi Tercih Etmeliyiz?
Brotli’yi tercih etmeniz için önünüzde pek çok seçenek bulunur. “Gzip” kullanıcılarına göre daha çok avantaj sağlayan bir yöntemdir. Aşağıda “Gzip” kullanıcılarına göre küçültme oranları verilmiştir. Bu oranlar, neden Brotli’yi tercih etmeniz gerektiğini de gösterir.
- Javascript için %14 küçültme,
- CSS için %17 küçültme,
- HTML için %21 küçültme sağladığı gözlenmiştir.
Bu sebeplerden dolayı “Brotli” sıkıştırma algoritmasını kullanmak “Gzip” sıkıştırma algoritmasına göre daha mantıklı ve verimli sonuç sağlar.
Mobil Cihazlar Brotli’nin Kullanılmasının Faydası Var mıdır?
Brotli sıkıştırma algoritması pek çok faydası sebebiyle mobil cihazlarda performansa ve veri tüketimine önemli ölçüde etki eder. Brotli’nin hızlı olmasının yanında az veri tüketmesi, en çok mobil kullanıcıların işine yarar. Mobil servislerde bulunan tüketim kotaları sebebiyle, son kullanıcı tarafında Brotli sıkıştırma algoritmasının az veri tüketimi büyük memnuniyet oluşturur. “Brotli” ile sıkıştırılmış dosyalar mobil cihazlarda, işlemciyi daha az yoracağı için bu durum cihazların hız performansını ve şarj tüketimini olumlu yönde etkiler. “Mediatriple CDN” ile entegre çalışabilen “Brotli”, sayfa açılış hızlarını da artırır.
Gzip ile Brotli’yi Karşılaştırma
Daha önceleri site içeriklerini sıkıştırmak için çok tercih edilen yöntemlerden biri olan GZIP’e karşılık olarak Google tarafından Brotli geliştirildi. Ancak “Brotli” web sitesi kullanıcıları tarafından pek fazla bilinmez. “Brotli” ve “Gzip”in her ikisi de farklı sıkıştırma düzeylerine sahiptir. İlgilenmeniz gereken ve farklı oluşturan şey de varsayılan ayarları olmalıdır. “Brotli” varsayılan olarak maksimum seviyeye ayarlanırsa, tam performanslı kullanım sağlanabilir. Aşağıda “Brotli” ile “Gzip” arasındaki farklar sıralanmıştır.
- Brotli’nin sıkıştırma hızını varsayılan olarak kullanırsanız, hızı optimize etmiş olursunuz. Bu da Gzip’e göre web sitesine daha hızlı erişim ve daha hızlı sayfa yükleme anlamına gelir.
- Web sitenizin trafik bandı günlük olarak yüksekse, sıkıştırma yöntemlerinden biri olan Brotli ile bunu kolay bir şekilde sağlayabilirsiniz. Brotli ile birlikte sunucunuz da rahatlar. Bu sayede aşırı bant kullanımının önüne geçmiş olursunuz. Web sitenizin trafiği de dengelenir.
- Brotli ile Gzip karşılaştırıldığında, Gzip 32 KB sabit bir pencere kullanırken, Brotli 1 KB ve 16 KB arasında bir kayar pencere kullanır.
- Brotli sıkıştırma algoritması, HTML ve benzeri dosyaları %17- %25 arası gibi daha fazla oranlarda sıkıştırabilir.
- Brotli sıkıştırma algoritması, Gzip’e göre mobil hızlarda hem pil ömrü hem de hız açısından size çok iyi bir performans sağlar.
- Gzip, HTML gibi dosyaları bir web sitesinde %78 gibi bir performans kazandırır. Brotli sıkıştırma algoritması ile bir web sitesinde bu oran %90’lara kadar çıkarak kazanç sağlayabilir.
- Brotli sıkıştırma algoritmasının performansının Gzip’e göre çok daha iyi olması size ayrıca fayda sağlar.
- Açık kaynaklı olan Brotli, Gzip’ten daha iyi performans gösterdiği için çoğu tarayıcı tarafından desteklenir.
- Brotli, ortalama bir dosyanın boyutunu daha da küçülttüğünden, Gzip’in önüne geçerek daha hızlı bir kullanım sağlar.
- Brotli sıkıştırma algoritmasının performansı, Gzip’e göre daha hızlıdır.
- Brotli’nin sıkıştırmaları, Gzip’e göre daha küçüktür.
- Brotli web sitenizdeki verileri çok daha hızlı bir şekilde çok daha küçük bir boyutta sıkıştırdığı için Gzip’e göre yüklenmesi daha az bant genişliği alır. Bant genişliği tüketimi ne kadar azalırsa, bir sayfanın yüklenmesi o kadar hızlı olur.
Yukarıdaki karşılaştırmalara göre “Brotli” kullanmanız, web sitenize sayfa yükleme süresinde ciddi bir azalma oranı ve yüksek performans sunar. Bahsettiğimiz avantajları ile veri sıkıştırmalarınız için Brotli kullanmak, esasen web sitenizin sayfa yükleme süresinde önemli bir azalma sağlayabilir.
Gzip nedir ve ne işe yaradığını detaylı olarak öğrenmek isterseniz, buraya tıklayabilirsiniz.
Brotli Kullanmak Bir Web Sitesi için Ne Anlama Gelir?
Bir web sitesi kurduğunuzda pek çok beklentiyi karşılamasını beklersiniz. Ziyaretçisi çok olsun ve uzun süre sitenizde kalsın, sayfalar hızlı bir şekilde yüklensin, arama motorlarında ilk sıralara yerleşsin ve kullanıcılar sayfayı tekrar ziyaret etsin istersiniz. Bunun için Bortli sıkıştırma yöntemini kullandığınızda maksimum seviyede performans gösterdiğini deneyimleyebilirsiniz. Daha hızlı bir web sitesine sahip olmanız demek, daha iyi bir arama sıralaması ve buna bağlı olarak arama sonuçlarında daha yüksek değer demektir.
Dosya boyutlarının hızlı bir şekilde sıkıştırılması, açılmak istenen sayfanın yüklenme süresinin kısalması, daha iyi bir kullanıcı deneyimi ve aynı zamanda kullanıcının mutlu olması anlamına gelir. Hızlı yüklenen ve verimli bir web sitesi iyi bir performans gösterdiği için, sayfanızın diğer web sitelerine göre bir adım önde olmasını sağlar. Brotli ilk kullanılmaya başlandığında çoğu tarayıcı tarafından desteklenmezken, günümüzde bu durum değişti.
WordPress alt yapılı bir siteye sahipseniz, site hızını artırmak için neler yapabileceğinizi blog yazımızda açıkladık. Yazıya buradan ulaşabilirsiniz.
Çoğu tarayıcıda Brotli sıkıştırmalarını kullanabilirsiniz. Kullanacağınız tarayıcı Brotli’yi destekliyorsa ”br” yani Accept-Encoding yanıt başlığı içerir. Web sitesinde bulunan kaynaklarda “Content-Encoding” yanıt başlığını; “br” olarak görebiliyorsanız, kaynaklar Brotli olarak sıkıştırılmış demektir. Sunucu çok nadirde olsa tarayıcının Brotli’yi desteklemediği durumlarda, sizi otomatik olarak Gzip’e geri dönecek şekilde yönlendirebilir.