Bir web sayfasının hızlı açılmasının en kolay ve en etkili yollarından biri, sunucudan tarayıcıya gönderilen verileri sıkıştırmaktır. Gzip ve Brotli, web sunucusunda etkinleştirildiğinde dosya boyutlarını büyük ölçüde küçülten sıkıştırma yöntemleridir. Bu rehberde sıkıştırmanın nasıl çalıştığını ve nasıl etkinleştirileceğini açıklıyoruz.
İlgili içerikler: Nginx yapılandırma rehberi · Core Web Vitals ve sayfa hızı · Site optimizasyonu
Sıkıştırma Neden Hız Kazandırır?
Web sayfaları büyük oranda metinden oluşur: HTML, CSS ve JavaScript dosyaları. Metin verisi son derece sıkıştırılabilir — çünkü tekrar eden örüntüler içerir. Sunucu, dosyayı sıkıştırılmış halde gönderir; tarayıcı onu açar. Sonuç: ağ üzerinden taşınan veri %70-80 oranında azalır, sayfa belirgin biçimde daha hızlı yüklenir.
Bu kazanım özellikle yavaş bağlantılarda ve mobil cihazlarda hissedilir. Sayfa hızı aynı zamanda Core Web Vitals üzerinden kullanıcı deneyimini ve SEO'yu etkiler.
Gzip ve Brotli Arasındaki Fark
| Özellik | Gzip | Brotli |
|---|---|---|
| Çıkış yılı | 1992 — köklü standart | 2015 — Google geliştirdi |
| Sıkıştırma oranı | İyi | Gzip'ten ~%15-20 daha iyi |
| Tarayıcı desteği | Evrensel | Tüm modern tarayıcılar |
| Önerilen kullanım | Geriye dönük uyumluluk | Statik içerik için ideal |
İkisini birlikte sunmak en iyi yaklaşımdır: Brotli destekleyen tarayıcılar Brotli, desteklemeyenler Gzip alır. Tarayıcı, desteklediği yöntemi Accept-Encoding başlığıyla bildirir.
Nginx'te Sıkıştırmayı Etkinleştirme
Nginx'te Gzip yerleşiktir; yapılandırma dosyasına birkaç satır eklenerek açılır:
gzip on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_types text/plain text/css application/json
application/javascript text/xml application/xml
image/svg+xml;
Brotli için Nginx'in ngx_brotli modülünün kurulu olması gerekir; ardından brotli on; ve brotli_types satırlarıyla etkinleştirilir.
Hangi Dosyalar Sıkıştırılmalı?
- Sıkıştırın: HTML, CSS, JavaScript, JSON, XML, SVG ve düz metin — bunlar yüksek oranda küçülür.
- Sıkıştırmayın: JPEG, PNG, WebP, MP4, ZIP gibi zaten sıkıştırılmış dosyalar. Bunları yeniden sıkıştırmak boyutu küçültmez, yalnızca CPU harcar.
- Çok küçük dosyalar: Birkaç yüz bayttan küçük dosyalarda sıkıştırma kazancı, ek yükten az olabilir — bu yüzden
gzip_min_lengthayarlanır.
comp_level) çok yükseğe çekmek CPU kullanımını artırır ama kazanç sınırlı kalır. Orta bir seviye (5-6 civarı) çoğu sunucu için hız ve CPU dengesi açısından idealdir.Sıkıştırmayı Doğrulama
Sıkıştırmanın çalıştığını yanıt başlıklarından doğrulayabilirsiniz. curl -I -H "Accept-Encoding: br,gzip" https://siteniz.com komutunun çıktısında content-encoding: br veya gzip satırını görmelisiniz. Tarayıcının geliştirici araçları (Network sekmesi) de bunu gösterir.
Sıkça Sorulan Sorular
Sıkıştırma sunucuyu yavaşlatır mı?
Sıkıştırma az miktarda CPU kullanır, ancak ağ üzerinden taşınan veriyi büyük ölçüde azalttığı için net etki belirgin bir hızlanmadır. Statik dosyalarda sıkıştırılmış sürümü önbelleğe almak CPU yükünü de ortadan kaldırır.
Gzip mi Brotli mi tercih etmeliyim?
İkisini birden sunun. Brotli daha iyi sıkıştırır ve tüm modern tarayıcılar destekler; Gzip ise eski istemciler için güvenli yedek olarak kalır.
CDN kullanıyorsam sıkıştırmayı yine de açmalı mıyım?
Birçok CDN sıkıştırmayı kendi yapar; yine de kaynak (origin) sunucunuzda da etkin olması, CDN'in sıkıştırılmış içeriği almasını ve önbellekleme tutarlılığını sağlar.
KEYDAL hosting çözümleriyle sıkıştırma ve önbellekleme en baştan optimize edilmiş bir sunucuda yayında olun. KEYDAL hosting çözümleri