Rehberler

CDN Nedir? İçerik Dağıtım Ağları Basitçe Anlatıldı

CDN (içerik dağıtım ağı), birçok şehirde bulunan ve web sitenizin dosyalarının — görseller, betikler, stil dosyaları, bazen tüm sayfalar — kopyalarını tutan sunuculardan oluşan bir ağdır. Biri sitenize geldiğinde, uzaktaki tek bir sunucu yerine ona yakın bir konumdan hizmet alır. Bu, sayfaların daha hızlı yüklenmesini sağlar, kendi sunucunuzun yükünü azaltır ve sitenin trafik artışlarını kaldırmasına yardımcı olur.

Yapay zekâyla geliştirirken CDN neden önemli?

Bir CDN'i kendiniz hiç kurmayabilirsiniz; birçok barındırma platformu sitenizin önüne otomatik olarak bir tane koyar. Ama etkilerini hissedeceksiniz:

  • Hız. Daha hızlı yüklenen sayfalar ziyaretçilerin kalmasını sağlar ve arama motorlarının dikkate aldığı etkenlerden biridir. Bkz. web sitenizi nasıl hızlandırırsınız.
  • “Değişikliğim neden görünmüyor?” Bir güncellemeyi yayımladıktan sonra, eski sürümün önbelleğe alınmış bir kopyası kısa bir süre kalabilir. Bunun nedenini bilmek çok fazla kafa karışıklığını önler.
  • Gizlilik ve doğruluk. CDN yanlış bir şeyi önbelleğe alırsa — örneğin birinin bilgilerini içeren bir sayfayı — bir sonraki ziyaretçi bunu görebilir. Neyin önbelleğe alınması gerektiğini ve neyin alınmaması gerektiğini bilmek doğru soruları sormanızı sağlar.

Günlük bir benzetme

Tek bir dükkândan ülke geneline ekmek sattığını düşünün. Her müşteri, ne kadar uzakta olursa olsun, tek bir yerden gelen teslimatı beklemek zorundadır; yoğun bir günde kuyruk devasa olur.

CDN, aynı ekmeğin ülkenin dört bir yanındaki mahalle bakkallarında da stoklanması gibidir. Müşteriler yakınlarından hızlıca alır ve ana fırın yalnızca bakkallara ara sıra ikmal yapar. Bir sorun var: fırın tarifini değiştirdiğinde, bakkallar bunlar değiştirilene ya da eski stok bitene kadar eski ekmeği satmaya devam eder.

CDN nasıl çalışır?

  1. Kaynağınız (origin). Siteniz ana sunucunuzda ya da barındırma platformunuzda yaşar; buna origin denir.
  2. Uç konumlar. CDN, birçok yerde edge konumları ya da varlık noktaları (PoP) adı verilen sunucular çalıştırır.
  3. Yönlendirme. Bir ziyaretçi sitenizi istediğinde, DNS ya da ağ yönlendirmesi onu yakındaki bir uca yönlendirir. Bkz. alan adları ve DNS nasıl çalışır.
  4. Önbellek isabeti (cache hit). Ucun dosyanın taze bir kopyası varsa, onu hemen gönderir.
  5. Önbellek kaçırması (cache miss). Yoksa, ucu dosyayı kaynaktan çeker, ziyaretçiye gönderir ve bir sonraki kişi için bir kopyasını saklar.
  6. Süre dolumu. Her kopya, sunucunuzun gönderdiği önbellek başlıkları ile belirlenen bir süre boyunca tutulur ya da temizlenene kadar kalır.

Çalışılmış bir örnek: fotoğraflı bir portfolyo sitesi

Bir fotoğrafçının portfolyosunda bir ana sayfa, 60 büyük görselden oluşan bir galeri ve bir iletişim formu var. Kaynak Avrupa'da. Singapur'daki bir ziyaretçi galeriyi açıyor.

  • CDN olmadan: Her görsel Avrupa'dan gelir. Her istek dünyanın öbür ucuna gidip gelir, bu yüzden galeri yavaş yavaş dolar.
  • CDN ile: Singapur yakınındaki ilk ziyaretçi, oradaki ucun görselleri çekip saklamasına neden olur. Bölgedeki sonraki ziyaretçilerin tümü onları yakından, çok daha hızlı alır.

Şimdi fotoğrafçı ana sayfadaki kapak fotoğrafını değiştirip yeniden yayımlıyor. Ziyaretçilerin yeni içeriği görüp görmeyeceğini şunlar belirler:

/index.html                    → kısa önbellek süresi, sık kontrol edilir
/assets/index-3f9a2c.js        → uzun süre önbelleğe alınır
/assets/hero-8b41d0.jpg        → uzun süre önbelleğe alınır

Vite dahil modern derleme araçları dosyalara hero-8b41d0.jpg gibi karma (hashed) adlar verir. Bir dosya değiştiğinde adı da değişir; böylece sayfa hiçbir önbelleğin görmediği yepyeni bir dosya ister. HTML sayfasının kendisi yalnızca kısa süre önbelleğe alınır, bu yüzden hızla yeni dosyalara işaret eder. Hem uzun önbellek süresinin hem de taze güncellemelerin aynı anda sağlanmasının standart yolu budur.

İletişim formu farklıdır. Gönderimleri her seferinde sunucuya gider; asla önbelleğe alınmamalıdır.

Neyin önbelleğe alınacağı, neyin alınmayacağı

Genellikle uzun süre önbelleğe alınırGenellikle kısa süre önbelleğe alınırPaylaşımlı bir CDN'de önbelleğe alınmaz
Görseller, yazı tipleri, videolarHerkese açık sitelerin HTML sayfalarıGiriş yapılmış sayfalar, paneller
Karma adlı JavaScript ve CSSAra sıra değişen herkese açık API verileriKişisel veri içeren her şey
Nadiren değişen indirilebilir dosyalarForm gönderimleri, ödemeler, her POST isteği

Temel terimler

TerimAnlamı
Origin (kaynak)Gerçek dosyaların bulunduğu ana sunucunuz ya da barındırıcınız.
Edge / PoPZiyaretçilere yakın hizmet veren bir CDN konumu.
Önbellek isabeti / kaçırmasıUcun dosyası vardı / dosyayı kaynaktan çekmek zorunda kaldı.
TTLYaşam süresi — önbelleğe alınmış bir kopyanın ne kadar tutulacağı.
Cache-Control başlığıSunucunuzun bir şeyin önbelleğe alınıp alınamayacağını ve ne kadar süreyle alınabileceğini belirten talimatı.
Temizleme (purge / invalidate)CDN'e önbellekteki kopyaları hemen atmasını söylemek.
Önbellek bozma (cache busting)Bir dosya değiştiğinde adını ya da URL'sini değiştirerek önbelleklerin yenisini çekmesini sağlamak.
Gecikme (latency)Mesafeden ve ağ atlamalarından kaynaklanan gecikme.

Tarayıcılarda, sunucularda ve veritabanlarında önbelleğe almanın genel yapısı için önbellekleme nedir sayfasına bakın.

Yaygın yanlış anlamalar

  • “CDN her şeyi hızlandırır.” Yalnızca dosyaların teslimini hızlandırır. Sunucunuzdaki yavaş bir veritabanı sorgusu ya da yavaş bir yapay zekâ çağrısı yine yavaştır.
  • “CDN barındırmanın yerini alır.” Barındırmanın önünde durur. Yine bir kaynağa ihtiyacınız vardır.
  • “Siteyi güncelledim, herkes hemen görür.” Eski kopyalar CDN'de ve tarayıcılarda kısa süre kalabilir. Kontrol etmek için tam yenileme yapın ve karma dosya adlarını kullanın.
  • “Önbelleğe almak her zaman güvenlidir.” Kişiselleştirilmiş bir sayfayı paylaşımlı bir önbellekte tutmak gerçek bir gizlilik riskidir. Özel yanıtlar önbelleğe alınamaz olarak işaretlenmelidir.
  • “CDN'ler yalnızca büyük şirketler içindir.” Birçok barındırıcı küçük siteler için ekstra çaba gerektirmeden bir CDN dahil eder.

Yapay zekâ oluşturucunuzdan ne istemelisiniz?

  • “Bu sitenin önünde bir CDN var mı? Hangi dosyaları önbelleğe alıyor ve ne kadar süreyle?”
  • “Derlenmiş JavaScript, CSS ve görsellerin karma dosya adlarına ve uzun önbellek sürelerine, HTML'in ise kısa bir süreye sahip olduğundan emin ol.”
  • “Giriş yapılmış sayfaları ya da kişisel veri içeren API yanıtlarını paylaşımlı bir önbellekte asla önbelleğe alma.”
  • “Görselleri sıkıştır ve boyutlandır ki galeri hızlı yüklensin.”
  • “Bir güncelleme yayımladım ama hâlâ eski sürümü görüyorum — sorun tarayıcı önbelleğinde mi, yoksa CDN'de mi?”

CDN ve Mythex

Mythex'te yayımladığınızda, statik ön yüzler statik siteler olarak dağıtılır; dokümantasyon, CDN önbelleklerinin bir güncellemeden sonra kısa süre geride kalabileceğini belirtir. Yeniden yayımladıktan sonra eski bir sürüm görüyorsanız, genel URL'yi tam yenileyin. Bunun için yapılandırılacak bir şey yoktur. Alan adınızın DNS'i Cloudflare'de ise ve özel bir alan adı bağlıyorsanız, dokümantasyon Mythex'in HTTPS'i doğru şekilde verebilmesi için kaydı “DNS only” olarak, proxied olmadan ayarlamanızı ister. Ayrıntılar için dokümantasyondaki nasıl yayımlanır ve özel alan adları sayfalarına, genel çerçeve için de web barındırma rehberimize bakın.

Sorular

CDN basitçe nedir?

CDN (içerik dağıtım ağı), web sitenizin dosyalarının kopyalarını tutan, birçok konumdaki sunuculardan oluşan bir ağdır. Ziyaretçiler ana sunucunuz yerine kendilerine yakın bir konumdan hizmet alır; böylece sayfalar daha hızlı yüklenir ve sunucunuz daha az iş yapar.

Siteyi güncelledikten sonra neden hâlâ eski sürümü görüyorum?

Genellikle dosyanın eski kopyası önbellekte kaldığı içindir; bu CDN'de, tarayıcınızda ya da ikisinde birden olabilir. Tarayıcı tarafını tam yenileme (hard refresh) ile düzeltebilirsiniz; CDN kopyaları kendiliğinden zaman aşımına uğrar veya temizlenebilir. Derleme araçları çoğu sorunu, değişen dosyalara yeni adlar vererek önler.

Küçük bir web sitesi için CDN'ye ihtiyacım var mı?

Çoğu zaman bunu seçmeden zaten kullanıyorsunuzdur; birçok barındırma platformu siteleri otomatik olarak bir CDN'in arkasına koyar. Yoksa ve ziyaretçileriniz farklı ülkelere dağılmışsa, eklemek genellikle değer.

Bir CDN uygulamamın verilerini ve giriş yapılmış sayfalarını önbelleğe alabilir mi?

İzin verildiği her şeyi önbelleğe alabilir; bu yüzden dikkatli kurulmalıdır. Görseller, betikler ve stiller gibi herkese açık dosyalar idealdir. Kişisel içerik ya da giriş yapılmış sayfalar paylaşımlı bir CDN'de önbelleğe alınmamalıdır; aksi halde bir kullanıcı başka birinin verisini görebilir.

Mythex · Pricing · Yapay zekayla her şeyi yapın · Web sitesi ve uygulama şablonları · Mythex karşılaştırmaları · Yapay zekayla uygulama geliştirme sözlüğü · Yapay zekayla uygulama geliştirme için ücretsiz araçlar · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)