Tanım
Brotli, Google tarafından geliştirilen ve RFC 7932 ile standartlaşan kayıpsız veri sıkıştırma algoritmasıdır. Web sunucuları HTML, CSS, JavaScript ve JSON gibi metin tabanlı dosyaları Brotli ile sıkıştırarak aktarılan veri miktarını azaltır; tarayıcı desteği Accept-Encoding başlığındaki “br” değeriyle bildirilir.
Brotli ile Gzip arasındaki fark nedir?
Brotli, metin dosyalarında Gzip’e göre genellikle daha yüksek sıkıştırma oranı sağlar. Bunun nedenlerinden biri, HTML, CSS ve JavaScript’te sık geçen kelime ve ifadeleri içeren yerleşik bir sözlük kullanmasıdır. Yüksek sıkıştırma seviyeleri daha fazla işlemci zamanı gerektirir; bu nedenle statik dosyalar en yüksek seviyede önceden sıkıştırılıp saklanırken, dinamik yanıtlar için orta seviyeler tercih edilir. Tarayıcılar Brotli’yi yalnızca HTTPS bağlantılarında kabul eder. Brotli’yi desteklemeyen istemcilere sunucu otomatik olarak Gzip ya da sıkıştırılmamış yanıt gönderir, bu yüzden iki yöntemi birlikte açık tutmak güvenlidir. JPEG, PNG, WebP ve video gibi zaten sıkıştırılmış dosyalara Brotli uygulamak fayda sağlamaz.
Brotli nasıl etkinleştirilir ve test edilir?
Brotli desteği web sunucusuna göre farklı yollarla açılır. LiteSpeed yerleşik olarak destekler; Apache’de mod_brotli modülü, Nginx’te ise ayrı derlenen ngx_brotli modülü kullanılır. Nginx için örnek:
brotli on;
brotli_comp_level 5;
brotli_types text/css application/javascript application/json image/svg+xml;Etkin olup olmadığını komut satırından kontrol edebilirsiniz; yanıtta content-encoding: br görmelisiniz:
curl -sI -H "Accept-Encoding: br" ornek.com.tr --location | grep -i content-encodingSıkıştırma, sayfa boyutunu küçülterek Core Web Vitals metriklerine dolaylı katkı sağlar. Diğer hız önerileri için web sitesi hızlandırma rehberine bakabilirsiniz.