Brotli
Brotli, Google tarafından geliştirilen modern sıkıştırma algoritmasıdır. Gzip'ten %15-25 daha iyi sıkıştırma sağlar. 2015'ten beri tüm modern tarayıcılarda desteklenir. Web sitelerinin transfer boyutunu dramatik azaltır, Core Web Vitals'ı iyileştirir.
Brotli Nedir?
Brotli, 2013'te Google tarafından geliştirilen, 2015'te standart hale gelen modern lossless (kayıpsız) sıkıştırma algoritmasıdır. LZ77, Huffman coding ve 2. dereceden context modeling kombinasyonu kullanır. Gzip'ten sonra web sıkıştırmasında yeni standart haline gelmiştir. Tüm modern tarayıcılar destekler.
Brotli vs Gzip
- Sıkıştırma oranı: Brotli %15-25 daha iyi
- Encode hızı: Brotli daha yavaş (seviye 11)
- Decode hızı: Benzer
- Statik içerik: Brotli öne çıkar (pre-compress edilebilir)
- Dinamik içerik: Gzip daha verimli (hızlı encode)
Brotli Sıkıştırma Seviyeleri
- 0: Sıkıştırma yok
- 1-4: Hızlı, dinamik içerik için
- 5-9: Denge, varsayılan
- 10-11: Maksimum sıkıştırma, statik içerik build-time
Brotli Nasıl Çalışır?
- Tarayıcı
Accept-Encoding: gzip, brgönderir - Sunucu Brotli'yi destekliyorsa Brotli ile sıkıştırır
- Yanıtta
Content-Encoding: br - Tarayıcı cevabı açar
NGINX Brotli Yapılandırması
brotli on;
brotli_comp_level 6;
brotli_types text/html text/css application/javascript application/json image/svg+xml;
brotli_min_length 1000;
brotli_static on;
NGINX için ngx_brotli modülü gerekir.
Apache Brotli Yapılandırması
<IfModule mod_brotli.c>
AddOutputFilterByType BROTLI_COMPRESS text/html text/css application/javascript
BrotliCompressionQuality 6
</IfModule>
LiteSpeed Brotli
LiteSpeed Enterprise Brotli'yi yerleşik destekler, yapılandırma gerekmez. LSCache ile entegre çalışır.
Static Brotli Pre-Compression
Statik dosyalar build zamanında önceden Brotli seviye 11'de sıkıştırılabilir:
brotli -q 11 file.css -o file.css.br
Web sunucusu her istekte sıkıştırmak yerine .br dosyasını direkt gönderir.
HTTPS Zorunluluğu
Chrome ve diğer tarayıcılar Brotli'yi yalnızca HTTPS üzerinden destekler — güvenlik nedeniyle. HTTP'de Gzip'e düşer.
Ölçme
- Chrome DevTools Network → Response Headers →
Content-Encoding: br curl -H "Accept-Encoding: br" -I URL- tools.keycdn.com/brotli-test
Browser Desteği
- Chrome 49+ (2016)
- Firefox 44+ (2016)
- Safari 11+ (2017)
- Edge 15+
- Opera 36+
- Tüm modern mobile
CDN Desteği
- Cloudflare: Otomatik Brotli
- Fastly: Brotli aktif
- AWS CloudFront: Brotli desteği var
- Bunny.net: Otomatik
MeoHost ve Brotli
MeoHost hosting paketlerinde LiteSpeed Enterprise Brotli'yi varsayılan olarak etkindir. Cloudflare edge'de ek Brotli uygulanır. Toplamda dosya boyutları Gzip-only kurulumlara göre %20 daha küçüktür.