Sunucu (Server) Nedir? İstemci İsteklerini Nasıl Karşılar?
Sunucu, ağ üzerinden istemcilerden gelen istekleri karşılayan ve veri ya da hizmet sağlayan donanım-yazılım bütünüdür. Web sayfası, e-posta, dosya veya oyun verisinin sunulması; isteğin alınması, işlenmesi ve uygun yanıtın istemciye gönderilmesiyle gerçekleşir. Sunucu mutlaka tek bir fiziksel cihaz anlamına gelmez; bir bilgisayarın belirli bir hizmet sunan yazılımı da sunucu rolü üstlenebilir.
Bu yazıda (8)
- ›Sunucu bir cihazdan çok bir hizmet rolüdür
- ›Bir web sayfası isteğinde DNS, IP ve sunucu sırası
- ›Web sunucusu hazır dosya ile uygulama verisini nasıl ayırır?
- ›Sunucu türünü donanımına değil yaptığı işe göre ayırmak
- ›Fiziksel sunucu, sanal sunucu ve bulut sunucu aynı şey değildir
- ›Çözümlü örnek: Bir haber sayfası açılırken neler olur?
- ›Çözümlü örnek: Sosyal medya gönderisi neden sunucudan gelir?
- ›Sık yapılan hatalar ve karıştırılan kavramlar
Sunucu (Server) Nedir? İstemci İsteklerini Nasıl Karşılar?
Bir web sitesini açtığınızda ekranda yalnızca bir adres yazıp sayfanın görünmesini beklersiniz. Oysa bu basit görünen işlemde istemci, ağ, DNS, IP adresi, web sunucusu ve çoğu zaman veritabanı gibi birden fazla unsur birlikte çalışır. Telefonunuz veya bilgisayarınız isteği başlatır; ilgili sistem isteği değerlendirir ve HTML, görsel, video bilgisi ya da uygulama verisini geri gönderir.
Bu rehberde sunucuyu yalnızca 'güçlü bilgisayar' olarak tanımlamak yerine, ağdaki görevini ve istemciyle kurduğu iletişimi adım adım inceleyeceğiz. Ayrıca web sunucusu, e-posta sunucusu, veritabanı sunucusu ve bulut sunucu arasındaki farkları; 7 gün 24 saat çalışma ifadesinin ne anlama geldiğini ve hangi durumlarda yanlış yorumlandığını açıklayacağız.
Sunucu bir cihazdan çok bir hizmet rolüdür
Sunucu (server), ağdaki başka cihazlara veya programlara veri, işlem ya da hizmet sunan sistemdir. Bu sistem iki parçanın birlikte düşünülmesini gerektirir: Hizmeti çalıştıran yazılım ve bu yazılımı çalıştıran donanım. Örneğin bir web sunucusu, web sayfası dosyalarını istemciden gelen isteğe göre gönderen yazılımı ifade edebilir; bu yazılımın çalıştığı fiziksel bilgisayar da günlük dilde sunucu olarak adlandırılabilir.
Bu nedenle sunucu ile normal bilgisayar arasındaki fark yalnızca işlemci, bellek veya depolama kapasitesi değildir. Asıl fark, sistemin hangi görevi yerine getirmek üzere yapılandırıldığıdır. Bir ev bilgisayarı uygun bir sunucu yazılımı çalıştırırsa sınırlı ölçekte sunucu rolü üstlenebilir. Buna karşılık özel sunucu donanımı, sürekli hizmet, çoklu kullanıcı erişimi, depolama ve ağ iletişimi gibi ihtiyaçlar için tasarlanabilir.
'7/24 çalışır' ifadesi, sunucuların hizmetin günün her saatinde erişilebilir olması hedefiyle yapılandırıldığını anlatır; bu, her sunucunun hiçbir kesinti yaşamayacağını garanti etmez. Elektrik, ağ, yazılım veya donanım sorunları nedeniyle hizmet kesilebilir. Bu yüzden erişilebilirliği artırmak amacıyla yedekli bileşenler ve farklı altyapı önlemleri kullanılabilir; ancak belirli bir hizmetin kesintisizliği, o hizmetin gerçek mimarisine bağlıdır.
Bir web sayfası isteğinde DNS, IP ve sunucu sırası
Kullanıcı bir site adresini tarayıcıya yazdığında ilk görünen sonuç doğrudan sunucunun yanıtı değildir. Tarayıcı, okunabilir alan adının hangi IP adresiyle ilişkilendirildiğini bulmak için DNS sisteminden yararlanır. IP adresi, ağ üzerindeki hedefi belirlemeye yardımcı olur; DNS ise alan adı ile IP adresi arasındaki eşleştirmeyi bulma sürecinde rol oynar.
Sonraki aşamada istemci, ilgili hizmete bir ağ isteği gönderir. Web sunucusu bu isteği alır ve istenen kaynağın ne olduğunu değerlendirir. Kaynak hazır bir HTML dosyası, CSS dosyası, JavaScript dosyası veya görsel olabilir. Sunucu bu veriyi yanıt olarak gönderdiğinde tarayıcı gelen parçaları işler ve kullanıcıya sayfayı gösterir.
Süreç basitleştirilmiş biçimde şöyle gösterilebilir:
- Kullanıcı adresi tarayıcıya girer.
- DNS, alan adı için gerekli IP bilgisine ulaşılmasına yardımcı olur.
- İstemci ilgili sunucuya istek gönderir.
- Sunucu isteği işler ve uygun yanıtı hazırlar.
- Yanıt, ağ üzerinden istemciye ulaşır.
- Tarayıcı HTML, CSS, JavaScript ve görselleri işleyerek sayfayı oluşturur.
Bu zincirde DNS, web sunucusunun kendisi değildir. DNS hedefin bulunmasına yardım eder; web sunucusu ise isteğe karşılık içerik veya hizmet sağlar. Benzer biçimde tarayıcı da sunucu değildir; isteği başlatan istemci programıdır.
Web sunucusu hazır dosya ile uygulama verisini nasıl ayırır?
Web sunucusunun her isteğe aynı biçimde yanıt vermesi gerekmez. İstenen içerik önceden hazırlanmış bir dosyaysa sunucu bu dosyayı gönderebilir. Örneğin bir sayfanın HTML belgesi, CSS dosyası veya görseli istemciye iletilebilir. Tarayıcı daha sonra bu dosyaları kullanarak görüntüyü oluşturur.
Bazı sayfalarda ise içerik kullanıcının isteğine, oturumuna veya sistemdeki verilere göre değişir. Böyle bir durumda web sunucusu, uygulama mantığını çalıştıran başka bir bileşenle ve veritabanı sunucusuyla iletişim kurabilir. Örneğin bir ürün sayfasında ürün adı ve görseli web istemcisine gönderilirken, stok veya kullanıcıya özel bilgiler veritabanından alınabilir.
Burada 'sunucu sayfayı gönderir' cümlesi öğretici olsa da eksik kalabilir. Sunucu bazen doğrudan bir dosya gönderir, bazen bir uygulamanın çalıştırılmasını sağlar, bazen de başka bir sunucudan aldığı veriyi yanıtın parçası hâline getirir. Bu ayrım, sabit içerik ile isteğe göre oluşturulan içerik arasındaki farkı anlamak için önemlidir.
Sunucu türünü donanımına değil yaptığı işe göre ayırmak
Sunucu türleri çoğunlukla üstlendikleri göreve göre adlandırılır. Aynı fiziksel altyapı üzerinde farklı hizmetler bulunabileceği gibi, yoğun veya kritik sistemlerde görevler farklı sunuculara da dağıtılabilir.
Web sunucusu: Tarayıcıdan gelen web isteklerine karşı HTML, CSS, JavaScript, görsel gibi web kaynaklarını sunar. Bir haber sitesinin sayfasını açarken tarayıcının aldığı içeriklerin sunulmasında rol oynar.
E-posta sunucusu: E-postaların gönderilmesi, alınması, saklanması ve yönetilmesiyle ilgili hizmetleri sağlar. E-posta uygulaması istemci olarak çalışırken, mesajların iletimi ve depolanması sunucu tarafındaki sistemlerle yürütülür.
Veritabanı sunucusu: Uygulamaların kullandığı yapısal verileri düzenler ve sorgular. E-ticaret sitesindeki ürün bilgileri veya müşteri kayıtları buna örnektir. Veritabanı sunucusu, çoğu durumda web sayfasını doğrudan kullanıcıya göstermez; uygulamanın ihtiyaç duyduğu veriyi sağlar.
Dosya sunucusu: Dosyaların depolanmasına, paylaşılmasına ve yetkili kullanıcılar tarafından erişilmesine hizmet eder. Bu kullanım, şirket içi ağlarda veya çevrim içi depolama hizmetlerinde görülebilir.
Oyun sunucusu: Çok oyunculu bir oyunda oyuncu hareketleri, skorlar ve oyun içi etkileşimlerle ilgili ortak durumu yönetir. Oyuncunun cihazı yalnızca kendi ekranındaki istemci değildir; oyun deneyimi için sunucuyla veri alışverişi de gerekir.
Bu adlar birbirini dışlamak zorunda değildir. Bir sistem aynı anda birden fazla hizmet çalıştırabilir; ancak güvenlik, yönetim ve performans gerekçeleriyle görevlerin ayrılması da tercih edilebilir.
Fiziksel sunucu, sanal sunucu ve bulut sunucu aynı şey değildir
Fiziksel sunucu, hizmetin doğrudan fiziksel bir bilgisayar üzerinde çalıştığı yapıdır. Bu bilgisayar işlemci, bellek, depolama ve ağ bileşenlerinden oluşur. Fiziksel kaynakların yönetimi ve arızalara karşı alınacak önlemler bu yapıda doğrudan donanımla ilişkilidir.
Sanal sunucu, fiziksel bir makinenin kaynaklarının yazılım aracılığıyla ayrı çalışma ortamlarına bölünmesiyle oluşturulabilir. Kullanıcı, ayrı bir sunucu ortamı kullanıyor gibi çalışır; fakat alttaki fiziksel kaynaklar başka sanal ortamlarla paylaşılabilir. Bu, 'sanal' kelimesinin verinin gerçek olmadığı anlamına gelmez; hizmetin mantıksal olarak ayrılmış bir ortamda sunulduğunu ifade eder.
Bulut sunucu ise internet üzerinden erişilen, sanallaştırma ve birden fazla fiziksel kaynaktan oluşabilen altyapılarla sağlanan bir hizmet biçimidir. Bulut yapısının esneklik ve ölçeklenebilirlik sunabilmesi, her bulut hizmetinin otomatik olarak sınırsız kaynak veya kesintisiz erişim sağlayacağı anlamına gelmez. Kullanılabilirlik, sağlayıcının mimarisine, yapılandırmaya ve hizmet koşullarına bağlıdır.
Dolayısıyla fiziksel, sanal ve bulut ifadeleri çoğunlukla sunucunun görevi değil, hizmetin hangi altyapı biçimiyle sunulduğu hakkında bilgi verir.
Çözümlü örnek: Bir haber sayfası açılırken neler olur?
Verilenler: Kullanıcı telefonundaki tarayıcıya bir haber sitesinin alan adını yazıyor. Sayfada HTML metni, CSS biçimlendirmesi, JavaScript kodu ve görseller bulunuyor. Sitenin bazı içerikleri bir veritabanından getiriliyor.
Çözüm adımları:
- İstemci belirlenir: Telefon ve üzerindeki tarayıcı, isteği başlatan istemci tarafıdır. Tarayıcı henüz haber sayfasının tüm verisine sahip değildir.
- Hedef bulunur: Alan adının ilgili IP bilgisine ulaşılması için DNS süreci kullanılır. DNS, sayfanın içeriğini üretmez ve tarayıcının kendisi değildir.
- Web isteği gönderilir: Tarayıcı, ilgili web hizmetine sayfa isteği yollar. İletişimin güvenlik özellikleri kullanılan protokole göre değişir; HTTPS kullanılan durumda veri alışverişi şifreleme mekanizmalarıyla korunmaya çalışılır.
- Web sunucusu isteği değerlendirir: Sunucu, istenen adresi ve kaynağı kontrol eder. HTML, CSS, JavaScript veya görsel gibi hazır bir kaynak varsa bunu yanıtın parçası olarak gönderebilir.
- Uygulama ve veritabanı devreye girer: Haber listesi veya kullanıcıya göre değişen bölüm hazır bir dosyada bulunmuyorsa uygulama, veritabanı sunucusundan gerekli bilgileri isteyebilir.
- Yanıt oluşturulur: Web hizmeti, uygulamadan gelen verileri ve gerekli dosyaları istemciye iletir.
- Tarayıcı sayfayı oluşturur: Tarayıcı HTML yapısını kurar, CSS ile görünümü düzenler, JavaScript kodunu çalıştırabilir ve görselleri ekrana yerleştirir.
Sonuç: Kullanıcının gördüğü tek sayfa, yalnızca tek bir dosyanın gönderilmesiyle oluşmayabilir. İstemci, DNS, web sunucusu, uygulama ve veritabanı farklı görevler üstlenerek birlikte çalışabilir.
Çözümlü örnek: Sosyal medya gönderisi neden sunucudan gelir?
Verilenler: Kullanıcı bir sosyal medya uygulamasını açıyor. Arkadaşlarının yeni gönderileri, fotoğrafları, videoları, beğenileri ve yorumları telefon ekranında görüntüleniyor.
Çözüm adımları:
- Telefon üzerindeki uygulama istemci olarak çalışır ve kullanıcının isteğini sunucuya iletir.
- Sunucu, kullanıcının istediği akışla ilgili işlemi yürütür. Bu işlem, yalnızca sabit bir dosyanın gönderilmesinden farklı olabilir; çünkü hangi içeriklerin gösterileceği kullanıcı ve güncel verilerle ilişkili olabilir.
- Gönderi metni, fotoğraf bilgisi, video bilgisi, beğeni ve yorum gibi veriler sunucu tarafındaki sistemlerde tutulabilir veya bu sistemler aracılığıyla yönetilebilir.
- Gerekli bilgiler hazırlanarak telefon uygulamasına yanıt olarak gönderilir.
- Uygulama gelen verileri ekranda kartlar, görseller ve etkileşim düğmeleri biçiminde gösterir.
- Kullanıcı bir beğeni yaptığında bu kez istemci sunucuya yeni bir istek yollar; sunucu ilgili işlemi değerlendirir ve sonucu uygulamaya bildirir.
Sonuç: Sunucu yalnızca içerik depolayan pasif bir 'yer' değildir. İsteği değerlendirir, uygun veriyi seçebilir, kullanıcı eylemlerini işleyebilir ve istemciye yanıt verebilir.
Sık yapılan hatalar ve karıştırılan kavramlar
Sunucu ile internet aynı değildir: İnternet, ağların ve iletişim sistemlerinin oluşturduğu geniş yapıdır. Sunucu ise bu ağ üzerinden hizmet sunan sistemdir. Sunucu internetin kendisi değil, internet üzerindeki hizmet sağlayıcılardan biridir.
Sunucu ile web aynı değildir: Web, internet üzerinden erişilen web sayfaları ve ilgili kaynaklarla ilişkilidir. E-posta, dosya paylaşımı veya çevrim içi oyun hizmetleri de sunucular kullanabilir; fakat bunların tümü web sayfası olmak zorunda değildir.
DNS ile web sunucusu aynı değildir: DNS alan adını ilgili IP bilgisiyle ilişkilendirme sürecinde rol oynar. Web sunucusu ise istemcinin web isteğine yanıt verir. DNS çalışsa bile web hizmetinde sorun varsa sayfa açılamayabilir; tersine web sunucusu çalışsa bile hedefe ulaşma aşamasında sorun yaşanabilir.
IP adresi sunucunun yaptığı iş değildir: IP adresi ağdaki hedefi belirlemeye yardımcı olan adres bilgisidir. Sunucu ise bu hedefte çalışan hizmettir. Bir IP adresini bilmek, o sistemdeki tüm verilere erişim hakkı vermez.
Sunucu her zaman tek bir fiziksel makine değildir: Sunucu kavramı bir yazılımı, sanal ortamı veya fiziksel sistemi ifade edebilir. Bu nedenle 'sunucu nerede?' sorusunun yanıtı kullanılan mimariye göre değişir.
7/24 ifadesi kesintisizlik garantisi değildir: Sürekli hizmet verme hedefi ile hiçbir arıza yaşanmaması aynı anlama gelmez. Bakım, ağ sorunu veya donanım arızası gibi durumlar erişimi etkileyebilir.
HTTPS sunucunun türü değildir: HTTPS, web iletişiminin güvenlik özellikleriyle ilgilidir. Web sunucusu ise içerik ve web isteği sunma görevini anlatır; biri iletişim biçimi, diğeri hizmet rolüdür.
İstemci isteği → ağ ve hedef bulma → sunucunun isteği işlemesi → yanıtın istemciye gönderilmesi. Bu gösterim bir performans formülü değil, istemci-sunucu iletişiminin basitleştirilmiş işlem sırasıdır.
Bir evdeki bilgisayarda bulunan fotoğraf klasörünü aynı Wi-Fi ağına bağlı başka bir telefona açtığınızı düşünün. Bilgisayar, klasör içeriğini paylaşan program çalıştığı sürece dosya sunucusu rolü üstlenir; telefon ise dosyaları isteyen istemcidir. Telefonun isteği bilgisayara ulaşır, bilgisayar dosyayı yanıt olarak gönderir ve telefon içeriği görüntüler. Bu örnek, sunucunun yalnızca büyük veri merkezlerindeki özel makinelerden ibaret olmadığını; belirli bir hizmeti sağlayan bir cihaz veya yazılımın da sunucu rolü üstlenebileceğini gösterir.
TYT bilişim ve teknoloji sorularında 'istemci-sunucu' ayrımına dikkat edin: İstemci hizmeti talep eden taraftır; sunucu hizmeti sağlayan taraftır. DNS'yi alan adı ile IP adresi arasındaki ilişkiyi bulmaya yardım eden sistem, IP adresini hedefi belirleyen adres bilgisi, tarayıcıyı ise web isteğini başlatan istemci yazılımı olarak düşünün. 'Sunucu' sözcüğü soruda donanımı değil görevi anlatıyorsa, fiziksel cihaz ile sunucu yazılımını birbirine eşitlemeyin. 7/24 çalışma ifadesini de kesintisizlik garantisi olarak değil, sürekli hizmet verme amacı olarak yorumlayın.
Sık sorulan sorular
Sunucu yalnızca güçlü ve özel bir bilgisayar mıdır?
Hayır. Sunucu, öncelikle ağdaki başka cihazlara veya programlara hizmet sunma rolüdür. Bu rol özel bir fiziksel bilgisayarda, sanal ortamda veya uygun biçimde yapılandırılmış daha sıradan bir bilgisayarda çalışabilir. Profesyonel sistemlerde donanım ve altyapı, sürekli ve çok kullanıcılı hizmet gereksinimlerine göre seçilir.
Bir web sitesinin çalışması için yalnızca web sunucusu yeterli midir?
Her site için aynı mimari kullanılmaz. Hazır dosyalardan oluşan basit bir sayfada web sunucusu temel görevi üstlenebilir. Kullanıcıya göre değişen içerik, giriş işlemleri veya ürün verileri varsa uygulama ve veritabanı gibi başka bileşenler de devreye girebilir.
Sunucu ile istemci arasındaki fark nasıl anlaşılır?
Hizmeti isteyen taraf istemci, hizmeti sağlayan taraf sunucudur. Bir telefon uygulaması veri istediğinde telefon istemci; isteği karşılayan sistem sunucudur. Aynı cihaz farklı zamanlarda farklı roller üstlenebilir; rol, cihazın o andaki görevine bağlıdır.
Bulut sunucu fiziksel sunucu olmadığı anlamına mı gelir?
Hayır. Bulut hizmetleri fiziksel altyapı üzerinde çalışır; kullanıcıya sunulan ortam çoğu zaman sanallaştırılmış ve internet üzerinden erişilebilir durumdadır. 'Bulut' fiziksel kaynakların yokluğunu değil, bu kaynakların bir hizmet olarak sunulma biçimini ve altyapının kullanıcıdan soyutlanmasını anlatır.
Bir sunucu neden aynı anda veritabanı ve web hizmeti sunabilir?
Bir fiziksel veya sanal sistem üzerinde birden fazla sunucu yazılımı çalıştırılabilir. Ancak bu, her durumda en uygun yapı olduğu anlamına gelmez. Güvenlik, yönetim, kaynak kullanımı ve hizmetin ölçeği gibi koşullar, görevlerin aynı sistemde mi yoksa ayrı sistemlerde mi tutulacağını etkileyebilir.
- •Server (Sunucu) Nedir ve Server Çeşitlerivodafone.com.tr
- •Server (Sunucu) Nedir, Ne İşe Yararitstack.com.tr
- •Sunucu (Server) Nedir? Sunucu Türleri Nelerdir?atakdomain.com