CDN
İçerik Dağıtım Ağı
Kısaca
CDN, dünyanın dört bir yanına yayılmış ve web sitesi içeriğinin kopyalarını saklayıp her kullanıcıya en yakın konumdan sunan bir sunucu ağıdır.
CDN nedir?
İçerik dağıtım ağı anlamına gelen CDN, web içeriğini kullanıcılara ileten, birçok konuma yayılmış bir sunucu grubudur; bu sunuculara çoğunlukla edge sunucular ya da points of presence denir. Her ziyaretçinin dosyaları tek bir origin sunucusundan yüklemesi yerine, her biri kendisine yakın bir CDN sunucusundan alır ve bu da sayfaların daha hızlı yüklenmesini sağlar.
CDN'ler önbellekleme ile çalışır. Bir bölgedeki biri ilk kez bir dosyayı, örneğin bir görseli, bir JavaScript paketini ya da bir video parçasını istediğinde edge sunucu onu origin'den alır ve bir kopyasını tutar; yakındaki sonraki ziyaretçiler de bu önbellekteki kopyayı doğrudan alır. Cache-Control gibi HTTP başlıkları, CDN'e her dosyanın ne kadar süre saklanabileceğini bildirir.
CDN'i yerel depolardan oluşan bir zincir gibi düşünün: her siparişi tek bir merkezi fabrikadan göndermek yerine popüler ürünler müşterilere yakın yerlerde stoklanır ve teslimatlar daha hızlı ulaşır. Hızın ötesinde CDN'ler origin sunucusunun yükünü azaltır, trafik artışlarını karşılar, DDoS saldırılarına karşı korumaya yardımcı olur ve HTTPS bağlantılarını kullanıcıya yakın bir yerde yönetir.
CDN, web sunucunuzun ya da barındırmanızın yerini almaz; orijinal içerik yine origin'dedir ve uygulama mantığınızı da o çalıştırır. Birçok modern CDN ayrıca edge sunucuların kendisinde küçük kod parçaları çalıştıran edge computing sunar; bu da CDN ile serverless platform arasındaki çizgiyi bulanıklaştırır.
Bir bakışta
Önemli noktalar
- CDN, içeriği her kullanıcıya yakın sunuculardan sunar.
- Origin sunucusundaki dosyaların kopyalarını önbelleğe alarak çalışır.
- CDN'ler gecikmeyi azaltır, origin yükünü düşürür ve trafik artışlarını ile saldırıları karşılamaya yardımcı olur.
Cache-Controlbaşlıkları içeriğin ne kadar süre önbellekte tutulacağını belirler.- Birçok CDN, edge'de kod da çalıştırabilir.
Örnek
# Show only the response headers for a file served through a CDN
curl -I https://cdn.example.com/images/logo.png
# Typical headers in the response:
# cache-control: public, max-age=31536000, immutable (cache for up to a year)
# age: 3600 (seconds spent in the cache)
# x-cache: HIT (served by the edge, not the origin)Sık sorulan sorular
Web siteme CDN gerekir mi?
CDN, ziyaretçileriniz farklı bölgelere dağılmışsa ya da siteniz çok sayıda görsel, betik veya video sunuyorsa en çok işe yarar. Birçok barındırma platformu otomatik olarak bir CDN içerir; bu yüzden zaten bir tanesini kullanıyor olabilirsiniz.
CDN ile web barındırma arasındaki fark nedir?
Web barındırma, sitenizi saklar ve uygulama kodunu bir origin sunucusunda çalıştırır. CDN ise bu sunucunun önünde durur ve içeriğin önbelleğe alınmış kopyalarını kullanıcılarınıza yakın konumlardan iletir.
CDN'de cache hit nedir?
Cache hit, CDN edge sunucusunun istenen dosyanın kayıtlı bir kopyasına zaten sahip olduğu ve onu doğrudan sunduğu anlamına gelir. Cache miss ise dosyayı önce origin sunucusundan almak zorunda kaldığı anlamına gelir.
İlgili sayfalar
- HTTPWeb Geliştirme, s. 20HTTP, tarayıcıların, uygulamaların ve sunucuların basit bir istek-yanıt döngüsüyle web sayfaları ve veri alışverişi yapmasını sağlayan protokoldür.
- HTTPSGüvenlik, s. 15HTTPS, tarayıcı ile web sitesi arasındaki trafiği TLS ile şifreleyen, verileri dinlemeye ve değiştirilmeye karşı koruyan HTTP'nin güvenli sürümüdür.
- ServerlessDevOps ve Bulut, s. 46Serverless, sağlayıcının kodu talep üzerine çalıştırıp sunucuları yönettiği, otomatik ölçeklediği ve yalnızca gerçek kullanıma ücret aldığı bulut modelidir.
- DevOpsDevOps ve Bulut, s. 13DevOps, yazılım geliştirme ile BT operasyonlarını birleştirerek yazılımın daha hızlı ve güvenilir sunulmasını sağlayan bir kültür ve pratikler bütünüdür.
- SPAWeb Geliştirme, s. 42SPA, tek bir HTML sayfası yükleyip içeriği JavaScript ile güncelleyen ve görünümler arası geçişte sayfayı yeniden yüklemeyen web uygulamasıdır.
- SSRWeb Geliştirme, s. 44SSR, sunucunun her istekte bir sayfanın tam HTML'ini oluşturduğu ve böylece kullanıcıların ile arama motorlarının hazır içeriği hemen aldığı tekniktir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin