Modern web uygulamalarında kullanıcı deneyimini belirleyen en önemli faktörlerden biri sayfa yüklenme hızıdır. Bir web sitesi ne kadar hızlı yanıt verirse, kullanıcı memnuniyeti, SEO başarısı ve sunucu verimliliği de o kadar artar.

Cloudflare CDN (Content Delivery Network), statik içerikleri dünya genelindeki Edge veri merkezlerinde önbelleğe alarak ziyaretçilere en yakın noktadan sunar. Böylece hem gecikme süreleri azalır hem de origin sunucu üzerindeki yük önemli ölçüde düşer.

Bu dokümanda Cloudflare CDN mimarisi, cache çalışma mantığı, Edge Cache, Browser Cache, Cache Rules ve performans için önerilen en iyi uygulamalar ele alınmaktadır.


CDN Nedir?

CDN (Content Delivery Network), web içeriklerini kullanıcılara coğrafi olarak en yakın sunucudan ulaştıran dağıtık bir içerik dağıtım ağıdır.

Normal bir yapıda tüm istekler doğrudan origin sunucuya gider.

Kullanıcı (İstanbul)
        │
        ▼
Origin Server (Frankfurt)

Cloudflare CDN kullanıldığında ise istekler en yakın Cloudflare veri merkezine yönlendirilir.

Kullanıcı (İstanbul)
        │
        ▼
Cloudflare Edge POP (İstanbul)
        │
        ▼
Origin Server (Frankfurt)

Bu mimari sayesinde;

  • Daha düşük gecikme (Latency)
  • Daha hızlı sayfa açılışı
  • Daha az bant genişliği kullanımı
  • Daha düşük origin CPU ve disk yükü
  • Daha yüksek erişilebilirlik

elde edilir.


Cache Nedir?

Cache, daha önce üretilmiş bir içeriğin tekrar oluşturulmadan hızlıca sunulmasını sağlayan geçici depolama alanıdır.

Örneğin bir web sitesindeki logo dosyası her kullanıcı için aynıdır. Origin sunucunun bu dosyayı her istekte yeniden göndermesi yerine Cloudflare bu dosyayı Edge üzerinde saklar.

İlk İstek

Kullanıcı
      │
      ▼
Cloudflare
      │
      ▼
Origin

↓

Dosya Cache'e Yazılır

Sonraki isteklerde ise içerik doğrudan Cloudflare tarafından sunulur.

Kullanıcı

↓

Cloudflare Cache

↓

Response

Cloudflare Cache Nasıl Çalışır?

Cloudflare gelen isteği değerlendirir.

Request

↓

Cloudflare

↓

Cache Var mı?

├── Evet → Cache HIT
└── Hayır → Origin Server

Origin’den dönen yanıt, belirlenen kurallara göre Cloudflare Edge üzerinde saklanabilir.


Cache Durumları

Cloudflare yanıt başlıklarında cache durumunu gösterir.

HIT

İçerik Cloudflare önbelleğinden döndürülmüştür.

CF-Cache-Status: HIT

Origin’e istek gitmez.


MISS

İçerik cache’de bulunmamaktadır.

CF-Cache-Status: MISS

Origin sunucuya erişilir.


EXPIRED

Cache süresi dolmuştur.

Cloudflare origin’den yeni içeriği alır.


REVALIDATED

Cloudflare içeriğin değişip değişmediğini origin üzerinden kontrol ederek doğrulamıştır.


BYPASS

Cache devre dışıdır.

Genellikle aşağıdaki durumlarda görülür.

  • Authorization Header
  • Cache-Control: no-cache
  • Dynamic Content
  • Özel Cache Rule

DYNAMIC

İçerik dinamik olarak değerlendirilmiştir.

PHP, ASP.NET, API gibi uygulamalarda sık görülür.


Edge Cache Nedir?

Edge Cache, içeriğin Cloudflare veri merkezlerinde saklanmasıdır.

Origin

↓

Cloudflare Edge

↓

Kullanıcı

Avantajları

  • Origin trafiğini azaltır
  • Sayfa yükleme süresini düşürür
  • Küresel performansı artırır

Browser Cache Nedir?

Browser Cache, dosyanın kullanıcı bilgisayarında saklanmasıdır.

Sunucu

↓

Tarayıcı Cache

↓

Kullanıcı

Cloudflare Browser Cache TTL ayarı ile istemci tarafındaki önbellek süresi yönetilebilir.

Örnek:

Browser Cache TTL

4 Saat

Bu durumda kullanıcı aynı dosyayı dört saat boyunca yeniden indirmez.


Edge Cache TTL ile Browser Cache TTL Arasındaki Fark

Özellik Edge Cache Browser Cache
Saklandığı Yer Cloudflare POP Kullanıcının Tarayıcısı
Yönetim Cloudflare HTTP Header / Cloudflare
Amaç Origin yükünü azaltmak İstemci performansını artırmak

Cache Rules Nedir?

Cache Rules, hangi içeriklerin nasıl önbelleğe alınacağını belirleyen kural motorudur.

Kurallar;

  • URL
  • Hostname
  • Path
  • Query String
  • Header
  • Cookie
  • HTTP Method

gibi kriterlere göre oluşturulabilir.


Örnek Cache Rule

Statik dosyaları bir gün önbelleğe almak:

IF

Path contains

/images/

↓

Edge TTL

1 Day

API isteklerini cache dışı bırakmak:

IF

/api/*

↓

Bypass Cache

WordPress admin panelini cache dışı bırakmak:

/wp-admin/*

↓

Bypass Cache

Cache Everything

Cloudflare varsayılan olarak yalnızca statik içerikleri önbelleğe alır.

Bazı senaryolarda HTML sayfaları da önbelleğe alınabilir.

Cache Level

Cache Everything

Ancak bu özellik dikkatli kullanılmalıdır.

Yanlış yapılandırılırsa;

  • Login sayfaları
  • Dashboard
  • Kullanıcı profilleri

yanlış kişilere gösterilebilir.


Purge Cache

Origin üzerinde içerik güncellendiğinde eski cache temizlenmelidir.

Cloudflare aşağıdaki yöntemleri destekler.

  • Purge Everything
  • Purge by URL
  • Purge by Hostname
  • Purge by Prefix
  • Purge by Cache Tags (uygun planlarda)

Genellikle yalnızca değişen URL’lerin temizlenmesi önerilir.


Cache-Control Header

Origin sunucusu aşağıdaki HTTP başlıklarını döndürebilir.

Cache-Control

max-age=3600
no-cache
no-store
public
private

Cloudflare bu başlıkları dikkate alabilir veya Cache Rules ile üzerine yazabilir.


Hangi Dosyalar Cache Edilir?

Genellikle aşağıdaki dosya türleri önbelleğe alınır.

  • JPG
  • PNG
  • GIF
  • SVG
  • CSS
  • JavaScript
  • Font
  • PDF
  • MP4
  • ICO

Dinamik içerikler ise varsayılan olarak cache edilmez.


Cache Edilmemesi Gereken İçerikler

  • Login sayfaları
  • API Authentication
  • Dashboard
  • Sepet bilgileri
  • Kullanıcı profilleri
  • Bankacılık uygulamaları
  • Gerçek zamanlı raporlar

Development Mode

Development Mode etkinleştirildiğinde Cloudflare cache’i geçici olarak devre dışı bırakır.

Bu özellik;

  • Web geliştirme
  • CSS testleri
  • JavaScript güncellemeleri

gibi işlemler sırasında faydalıdır.


Cache Analytics

Cloudflare Analytics üzerinden izlenebilecek başlıca metrikler:

  • Cache Hit Ratio
  • Origin Requests
  • Top Cached Files
  • Bandwidth Saved
  • Data Transfer
  • Request Count
  • Cache Status Distribution

Yüksek bir Cache Hit Ratio, origin sunucunun daha az çalıştığını ve CDN’in daha verimli kullanıldığını gösterir.


Best Practices

✅ Statik içerikleri önbelleğe alın

  • CSS
  • JavaScript
  • Görseller
  • Font dosyaları
  • Video ve PDF gibi değişmeyen içerikler

✅ Dinamik içerikleri cache dışı bırakın

  • Login
  • Dashboard
  • Admin Panel
  • API Authentication
  • Kullanıcıya özel sayfalar

✅ Uzun ömürlü sürümleme (Versioning) kullanın

Dosya adlarına sürüm bilgisi ekleyin.

style.v1.css

↓

style.v2.css

veya

style.css?v=2.1

Bu sayede eski önbellek nedeniyle kullanıcıların güncel olmayan içerik görmesi engellenir.


✅ Purge Everything’i rutin olarak kullanmayın

Tüm önbelleği temizlemek yerine yalnızca değişen içerikleri temizlemek daha verimlidir.


✅ Origin Cache-Control başlıklarını doğru yönetin

Origin tarafındaki HTTP cache başlıkları ile Cloudflare Cache Rules’un uyumlu çalıştığından emin olun.


Sık Yapılan Hatalar

❌ Login sayfalarını Cache Everything ile önbelleğe almak

❌ API yanıtlarını yanlışlıkla cache etmek

❌ Tüm site için Purge Everything çalıştırmak

❌ Statik dosyalarda sürümleme kullanmamak

❌ Cache HIT oranlarını takip etmemek


Sonuç

Cloudflare CDN ve Cache, web uygulamalarının performansını artırmanın ve origin sunucu üzerindeki yükü azaltmanın en etkili yollarından biridir. Doğru yapılandırılmış bir cache stratejisi; daha düşük gecikme süreleri, daha hızlı sayfa yüklenmesi ve daha az bant genişliği tüketimi sağlar.

Cache Rules, Edge Cache ve Browser Cache ayarlarının bilinçli kullanılması; özellikle yüksek trafikli uygulamalarda ölçeklenebilirlik ve kullanıcı deneyimi açısından önemli avantajlar sunar.

Tagged: