Loading...

CDN.com.tr Yardım

Brotli ve gzip sıkıştırma

Edge metin yanıtlarını otomatik olarak sıkıştırır: destekleyen tarayıcılara Brotli, diğerlerine gzip. Her alan adının hangi yöntemi kullandığını Sıkıştırma kartında görün ve curl ile doğrulayın.

Brotli ve gzip sıkıştırma

Edge metin yanıtlarını otomatik olarak sıkıştırır: destekleyen tarayıcılara Brotli, diğerlerine gzip. Her alan adının hangi yöntemi kullandığını Sıkıştırma kartında görün ve curl ile doğrulayın.

İlgili rehberler

Test ederken okunacak diğer yanıt başlığı, görsellere ne olduğu ve kartın andığı kurallar.

Test ederken

Cache durumunu oku: HIT, MISS, BYPASS, EXPIRED

X-Proxy-Cache-MT başlığı, yanıtın önbellekten gelip gelmediğini gösterir.

Konuyu açın
Yayınlama kuralları

Add Rule ile cache davranışı yaz

Aynı sayfada listelenen kurallar; her sıkıştırma değerinin altındaki not bunlardan birini gösterir.

Konuyu açın

Panel yolu

  1. Yönetim Paneli
  2. Yayınlama Kuralları
  3. Optimizasyon
  4. Sıkıştırma

Ön koşullar

  • Bir yayınlama kuralıyla sunulan bir alan adı: Sıkıştırma kartı, hesabın kurallarının sunduğu alan adlarını listeler.
  • Kontrol için curl ya da tarayıcınızın geliştirici araçları.

Adım adım rehber

1

Sıkıştırma kartını okuyun

Kart, her alan adının HTTP ve HTTPS üzerindeki sıkıştırmasını gösterir.

  • Yayınlama Kuralları'nı açın ve Optimizasyon sekmesine geçin.
  • Sıkıştırma kartında alan adınızı Alan adı sütununda bulun.
  • HTTP ve HTTPS altındaki değerleri ve her birinin altındaki notu okuyun.

Beklenen sonuç: Varsayılan ayarlarla sunulan bir alan adında Brotli ve gzip yazar; altında #… numaralı kuraldan ya da sertifika doğrulama kuralından gibi bir not bulunur.

2

Brotli ve gzip'i curl ile kontrol edin

CSS ya da JavaScript gibi en az 256 baytlık bir metin dosyasını bir kez Brotli, bir kez gzip isteyerek indirin.

  • Accept-Encoding: br ile bir GET isteği gönderin ve yanıt başlıklarını okuyun.
  • Aynı isteği Accept-Encoding: gzip ile tekrarlayın.

Beklenen sonuç: İlk yanıtta content-encoding: br, ikincisinde content-encoding: gzip; ikisinde de vary: Accept-Encoding.

cdnctl karşılığı
curl -s -o /dev/null -D - -H 'Accept-Encoding: br' https://www.example.com/assets/app.css | grep -iE '^(content-encoding|vary):'
curl -s -o /dev/null -D - -H 'Accept-Encoding: gzip' https://www.example.com/assets/app.css | grep -iE '^(content-encoding|vary):'
3

Boyutları karşılaştırın

İndirme boyutu, sıkıştırmanın kendi dosyalarınızda ne kazandırdığını gösterir.

  • Dosyayı bir kez Accept-Encoding: br ile, bir kez Accept-Encoding başlığı olmadan indirin.
  • İki bayt sayısını karşılaştırın.

Beklenen sonuç: İki bayt sayısı: önce sıkıştırılmış boyut, sonra sıkıştırılmamış boyut.

cdnctl karşılığı
curl -s -o /dev/null -w '%{size_download}\n' -H 'Accept-Encoding: br' https://www.example.com/assets/app.css
curl -s -o /dev/null -w '%{size_download}\n' https://www.example.com/assets/app.css

Doğrulama

  • curl -s -o /dev/null -D - -H 'Accept-Encoding: br' https://www.example.com/assets/app.css | grep -iE '^(content-encoding|vary):' → content-encoding: br, vary: Accept-Encoding
  • curl -s -o /dev/null -D - -H 'Accept-Encoding: gzip' https://www.example.com/assets/app.css | grep -iE '^(content-encoding|vary):' → content-encoding: gzip, vary: Accept-Encoding
  • curl -s -o /dev/null -w '%{size_download}\n' -H 'Accept-Encoding: br' https://www.example.com/assets/app.css → sıkıştırılmış boyut; aynı komut Accept-Encoding başlığı olmadan → sıkıştırılmamış boyut

Kullanım senaryoları

Sitenizi CDN'in arkasına aldınız ve HTML, CSS, JavaScript ve JSON yanıtlarının ziyaretçilere sıkıştırılmış olarak ulaştığını, kaynak sunucunuzda (origin) sıkıştırma ayarlamadan doğrulamak istiyorsunuz.

Kısa akış

  1. Hesabın Yayınlama Kuralları sayfasını açın ve Optimizasyon sekmesine geçin.
  2. Otomatik etiketli Sıkıştırma kartında alan adınızın satırını bulun.
  3. HTTP ve HTTPS sütunlarını okuyun: Brotli ve gzip, o protokolde iki yöntemin de açık olduğunu gösterir; değerin altındaki not, ayarın hangi kuraldan geldiğini söyler. Yalnızca gzip, Yalnızca Brotli ya da Kapalı, alan adının en eski kuralının bu ayarla kaydedildiğini gösterir; not o kuralı söyler.
  4. Bir CSS ya da JavaScript dosyasını curl ile isteyin ve content-encoding başlığına bakın.

Kontroller

  • Edge yanıtın Content-Type değerine göre sıkıştırır: HTML, CSS, JavaScript, JSON (application/json, application/ld+json, application/manifest+json), XML (RSS ve Atom akışları dahil), düz metin, SVG, ICO ikonları, WebAssembly ile TTF, OTF ve EOT fontları. Diğer içerik türleri olduğu gibi gönderilir.
  • SVG ve ICO dışındaki JPEG, PNG, WebP ve diğer görsel biçimleri, WOFF ve WOFF2 fontları, videolar ve zip arşivleri zaten sıkıştırılmış biçimlerdir ve olduğu gibi gönderilir.
  • Boyutu bilinen ve 256 bayttan küçük yanıtlar sıkıştırılmadan gönderilir.
  • Sıkıştırma 200, 403 ve 404 yanıtlarına uygulanır.
  • Sıkıştırılmış yanıtlar Vary: Accept-Encoding taşır; aradaki önbellekler sıkıştırılmış ve sıkıştırılmamış sürümleri ayrı tutar.
  • Tarayıcılar Brotli'yi yalnızca HTTPS üzerinden ister; düz HTTP'de aynı tarayıcı gzip alır.
  • Sıkıştırmayı edge yapar; kaynak sunucunuzun sıkıştırma yapması gerekmez. Zaten sıkıştırılmış gelen bir yanıt (Content-Encoding başlığı olan) yeniden sıkıştırılmaz.
  • Bir kuralı düzenlerken, sıkıştırması daha eski bir kuraldan gelen her alan adı için Alan adı bazında notu görünür ve o kuralı gösterir.
  • Sıkıştırma kural bazında değil, alan adının en eski kuralıyla belirlenir: karttaki değer, Yalnızca gzip, Yalnızca Brotli ya da Kapalı dahil, alan adının o protokoldeki tüm kurallarına uygulanır ve kartta değiştirilemez.

Sık sorulan sorular

Sıkıştırmayı açmam gerekiyor mu?

Hayır. Sıkıştırma otomatiktir: yayınlama kuralları Brotli ve gzip ile oluşturulur ve Sıkıştırma kartında Otomatik yazar.

Kontrolümde neden content-encoding başlığı görünmüyor?

Beş şeye bakın: Sıkıştırma kartı o alan adı ve protokol için Brotli ve gzip gösteriyor olmalı, istek sıkıştırma istemeli (siz eklemedikçe curl Accept-Encoding başlığı göndermez), dosya sıkıştırılan türlerden biri olmalı, en az 256 bayt olmalı ve durum kodu 200, 403 ya da 404 olmalı. Aşağıdaki doğrulama komutlarını olduğu gibi çalıştırın.

Brotli mi gzip mi: ziyaretçi hangisini alır?

Destekleyen tarayıcılar Brotli, diğerleri gzip alır. Edge, tarayıcının gönderdiği Accept-Encoding başlığını okur; tarayıcılar Brotli'yi yalnızca HTTPS üzerinden ister.

Karttaki “Sunulmuyor” ne anlama gelir?

O alan adını o protokolde henüz hiçbir yayınlama kuralı sunmuyor. Bir kural alan adını HTTP ya da HTTPS üzerinden sunmaya başladığında kart oradaki sıkıştırmayı gösterir.