Origin sunucusunun amacı, internet istemcilerinden gelen internet isteklerini işlemek ve yanıtlamaktır. Origin sunucusu kavramı, tipik olarak bir uç sunucu veya önbelleğe alma sunucusu kavramıyla birlikte kullanılır . Özünde, bir kaynak sunucu, gelen internet isteklerini dinlemek ve işlemek için tasarlanmış bir veya daha fazla programı çalıştıran bir bilgisayardır. Bir kaynak sunucu, trafiğin sunucunun işleme kapasitesinin ötesine geçmemesi ve gecikmenin birincil bir endişe olmaması koşuluyla, bir web sitesi gibi bir internet mülkü için içeriği sunmanın tüm sorumluluğunu üstlenebilir.
Bir kaynak sunucu ile istekte bulunan bir istemci arasındaki fiziksel mesafe, bağlantıya gecikme ekleyerek web sayfası gibi bir internet kaynağının yüklenmesi için gereken süreyi artırır. SSL/TLS kullanarak güvenli bir internet bağlantısı için istemci ve kaynak sunucu arasında gereken ek gidiş-dönüş süresi (RTT) , isteğe ek gecikme süresi ekleyerek, istemcinin kaynaktan veri talep etme deneyimini doğrudan etkiler. Bir İçerik Dağıtım Ağı (CDN) kullanarak gidiş-dönüş süresi azaltılabilir ve bir kaynak sunucuya yapılan isteklerin miktarı da azaltılabilir.
Bir kaynak sunucu ile istekte bulunan bir istemci arasındaki fiziksel mesafe, bağlantıya gecikme ekleyerek web sayfası gibi bir internet kaynağının yüklenmesi için gereken süreyi artırır. SSL/TLS kullanarak güvenli bir internet bağlantısı için istemci ve kaynak sunucu arasında gereken ek gidiş-dönüş süresi (RTT) , isteğe ek gecikme süresi ekleyerek, istemcinin kaynaktan veri talep etme deneyimini doğrudan etkiler. Bir İçerik Dağıtım Ağı (CDN) kullanarak gidiş-dönüş süresi azaltılabilir ve bir kaynak sunucuya yapılan isteklerin miktarı da azaltılabilir.
Origin Sunucusu ile CDN Edge sunucusu arasındaki fark nedir?
Basitçe söylemek gerekirse, CDN uç sunucuları, içeriği mümkün olduğunca çabuk sunmak için dünyanın dört bir yanındaki büyük internet sağlayıcıları arasında önemli bağlantı noktalarına yerleştirilmiş bilgisayarlardır. Edge sunucusu, bir ağın " kenarında " bir CDN içinde yaşar ve istekleri hızlı bir şekilde işlemek için özel olarak tasarlanmıştır. Bir CDN, uç sunucuları stratejik olarak ağlar arasında bulunan İnternet Değişim Noktalarının (IxP'ler) içine yerleştirerek, İnternet üzerinde belirli bir konuma ulaşmak için gereken süreyi azaltabilir.
Bu uç sunucular, bir veya daha fazla kaynak sunucunun yükünü almak için içeriği önbelleğe alır. Görüntüler, HTML ve JavaScript dosyaları (ve potansiyel olarak diğer içerikler) gibi statik varlıkları istekte bulunan istemci makinesine mümkün olduğunca yakın bir yere taşıyarak, bir uç sunucu önbelleği bir web kaynağının yüklenmesi için gereken süreyi azaltabilir. Kimlik doğrulama için kullanılan karma istemci kimlik bilgilerinin veritabanı gibi önemli sunucu tarafı kodu tipik olarak bir kaynak sunucuda tutulduğundan, kaynak sunucuların bir CDN kullanırken oynayacakları önemli bir işlevi vardır .
İşte bir uç sunucu ve bir kaynak sunucunun bir oturum açma sayfası sunmak ve bir kullanıcının bir hizmette oturum açmasına izin vermek için nasıl birlikte çalıştığına dair basit bir örnek. Çok basit bir oturum açma sayfası, web sayfasının düzgün bir şekilde oluşturulabilmesi için aşağıdaki statik varlıkların indirilmesini gerektirir:
1. Web sayfası için bir HTML dosyası
2. Web sayfası stili için bir CSS dosyası
3. Birkaç görüntü dosyası
4. Birkaç JavaScript kitaplığı
Bu dosyaların tümü statik dosyalardır; dinamik olarak oluşturulmazlar ve web sitesinin tüm ziyaretçileri için aynıdır. Sonuç olarak, bu dosyalar hem önbelleğe alınabilir hem de uç sunucudan istemciye sunulabilir. Bu dosyaların tümü, istemci makineye daha yakın ve kaynak tarafından herhangi bir bant genişliği tüketimi olmadan yüklenebilir.
Daha sonra, kullanıcı oturum açma bilgilerini ve parolasını girip "oturum açma" düğmesine bastığında, dinamik içerik talebi uç sunucuya geri döner ve bu sunucu isteği kaynak sunucuya geri gönderir. Kaynak daha sonra belirli hesap bilgilerini geri göndermeden önce ilgili veritabanı tablosunda kullanıcının kimliğini doğrular.
Statik içeriği işleyen uç sunucular ile dinamik içerik sunan orijin sunucuları arasındaki bu etkileşim, bir CDN kullanırken endişelerin tipik bir ayrımıdır. Bazı CDN'lerin kapasitesi de bu basit modelin ötesine geçebilir.
Bu uç sunucular, bir veya daha fazla kaynak sunucunun yükünü almak için içeriği önbelleğe alır. Görüntüler, HTML ve JavaScript dosyaları (ve potansiyel olarak diğer içerikler) gibi statik varlıkları istekte bulunan istemci makinesine mümkün olduğunca yakın bir yere taşıyarak, bir uç sunucu önbelleği bir web kaynağının yüklenmesi için gereken süreyi azaltabilir. Kimlik doğrulama için kullanılan karma istemci kimlik bilgilerinin veritabanı gibi önemli sunucu tarafı kodu tipik olarak bir kaynak sunucuda tutulduğundan, kaynak sunucuların bir CDN kullanırken oynayacakları önemli bir işlevi vardır .
İşte bir uç sunucu ve bir kaynak sunucunun bir oturum açma sayfası sunmak ve bir kullanıcının bir hizmette oturum açmasına izin vermek için nasıl birlikte çalıştığına dair basit bir örnek. Çok basit bir oturum açma sayfası, web sayfasının düzgün bir şekilde oluşturulabilmesi için aşağıdaki statik varlıkların indirilmesini gerektirir:
1. Web sayfası için bir HTML dosyası
2. Web sayfası stili için bir CSS dosyası
3. Birkaç görüntü dosyası
4. Birkaç JavaScript kitaplığı
Bu dosyaların tümü statik dosyalardır; dinamik olarak oluşturulmazlar ve web sitesinin tüm ziyaretçileri için aynıdır. Sonuç olarak, bu dosyalar hem önbelleğe alınabilir hem de uç sunucudan istemciye sunulabilir. Bu dosyaların tümü, istemci makineye daha yakın ve kaynak tarafından herhangi bir bant genişliği tüketimi olmadan yüklenebilir.
Daha sonra, kullanıcı oturum açma bilgilerini ve parolasını girip "oturum açma" düğmesine bastığında, dinamik içerik talebi uç sunucuya geri döner ve bu sunucu isteği kaynak sunucuya geri gönderir. Kaynak daha sonra belirli hesap bilgilerini geri göndermeden önce ilgili veritabanı tablosunda kullanıcının kimliğini doğrular.
Statik içeriği işleyen uç sunucular ile dinamik içerik sunan orijin sunucuları arasındaki bu etkileşim, bir CDN kullanırken endişelerin tipik bir ayrımıdır. Bazı CDN'lerin kapasitesi de bu basit modelin ötesine geçebilir.
Bir CDN kullanırken bir Origin sunucusuna yine de saldırılabilir mi?
Kısa cevap evet. Bir CDN, bir kaynak sunucuyu yenilmez kılmaz, ancak doğru kullanıldığında, gelen istekler için bir kalkan görevi görerek bir kaynak sunucuyu görünmez kılabilir. Bir kaynak sunucunun gerçek IP adresini gizlemek, bir CDN kurmanın önemli bir parçasıdır. Bu nedenle, bir CDN sağlayıcısı, DDoS saldırılarının kalkanın etrafından dolaşmasını ve doğrudan Origin'e çarpmasını önlemek için bir CDN stratejisini uygularken kaynak sunucunun IP adresinin değiştirilmesini tavsiye etmelidir