- Katılım
- 21 May 2023
- Mesajlar
- 622
- Tepki
- 17
- Puan
- 18
Bir site kurulurken iki şey satın alınıyor: alan adı ve barındırma. İlkinin ne olduğu adından anlaşılıyor ama ikincisi çoğu kişi için soyut kalıyor. "Dosyalarım bir yerde duruyor" cümlesi doğru ama eksik; asıl soru, aynı sunucuda duran yüzlerce sitenin nasıl birbirine karışmadan yanıt verdiği.
Aşağıda barındırmanın teknik olarak ne anlama geldiğini, tek bir sunucunun birden çok siteyi nasıl ayırt ettiğini, paylaşımlı düzenin bu ayrıma nasıl dayandığını ve ayarlar eksik kaldığında ne olduğunu sunucu yazılımlarının kendi belgelerine dayanarak bulacaksınız.
Barındırma neyi çözüyor?
Tarayıcıya bir adres yazıldığında istek, o alan adının işaret ettiği sunucuya ulaşıyor. Barındırma hizmeti, bu isteği karşılayan ve sitenizin dosyalarını yanıt olarak dönen sunucuyu sağlıyor.
Adres ile sunucu arasındaki eşleşmenin nasıl kurulduğunu alan adı yazımızda ele almıştık. Barındırma, o eşleşmenin ucundaki makineyi tarif ediyor.
Tek sunucuda çok site nasıl duruyor?
Cevap sunucu yazılımının kendi belgesinde. Apache'nin isim tabanlı sanal sunucu belgesi tekniği şöyle anlatıyor: sunucu, istemcinin HTTP başlıklarında bildirdiği ana makine adına bakarak hangi sanal sunucunun yanıt vereceğini seçiyor.
Belge, iki yöntemi de karşılaştırıyor. Adres tabanlı barındırmada her site için ayrı bir IP adresi gerekirken, isim tabanlı barındırmada birçok site aynı adresi paylaşabiliyor.
Belgeye göre bunun getirisi de açık: alan adı sistemi tarafında yalnız adların aynı adrese işaret etmesi yetiyor, yapılandırma sadeleşiyor ve kıt olan adreslere duyulan ihtiyaç azalıyor.
Eşleşme nasıl yapılıyor?
Nginx'in istek işleme belgesi aynı mantığı kendi tarafından anlatıyor: gelen isteğin ana makine başlığı okunuyor ve tanımlı sunucu adlarıyla karşılaştırılıyor, eşleşen blok isteği karşılıyor.
Belge sıralamayı da veriyor. Farklı adres ve kapılarda dinleyen sunucular varsa önce istek adresi ve kapı numarası karşılaştırılıyor, ardından o kapıdaki bloklar arasında ad eşleşmesi aranıyor.
Eşleşme bulunamazsa?' Alıntı:Nginx'in belgesine göre başlık hiçbir sunucu adıyla eşleşmezse ya da istek bu başlığı hiç taşımıyorsa, ilk tanımlı sunucu varsayılan olarak devreye giriyor. Varsayılan sunucu, sunucu adının değil dinlenen kapının bir özelliği sayılıyor.
Paylaşımlı barındırma tam olarak bu
Pazarlama metinlerinde geçen "paylaşımlı" ifadesi, yukarıdaki tekniğin ticari karşılığı. Aynı makinede yüzlerce site duruyor, hepsi aynı adresi paylaşıyor ve istekler ad eşleşmesiyle ayrıştırılıyor.
Bu düzenin sınırı da buradan geliyor: dosyalar ayrı ama işlemci, bellek ve disk aynı makinede paylaşılıyor. Komşu sitelerden birinin yükü arttığında etkisi diğerlerine yansıyabiliyor. Sağlayıcıların paket sınırlarını eşzamanlı istek ve işlem sayısı üzerinden tanımlamasının nedeni de bu ortaklık; sınır dosya boyutundan çok makinenin aynı anda kaç isteğe yetiştiğiyle ilgili oluyor.
Sağlayıcıların koruma vaatlerinin bu paylaşımlı yapıda ne anlama geldiğini koruma vaatleri yazımızda incelemiştik.
Ayar eksik kalırsa ne oluyor?
Apache'nin belgesi bir uyarı içeriyor: her isim tabanlı sanal sunucuda sunucu adının açıkça belirtilmesi öneriliyor. Belirtilmezse sistem bunu makine adından türetiyor ve beklenmeyen eşleşmeler ortaya çıkabiliyor.
Pratikte bunun karşılığı, adresi yazdığınızda başka bir sitenin açılması oluyor. Aynı sunucuda barınan iki siteden biri yapılandırmada eksik kalmışsa, istek yanlış tarafa düşebiliyor.
Belge bir kolaylığı da not ediyor: sunucu takma adı tanımlanarak bir sitenin birden çok adla erişilebilir olması sağlanıyor. Alt alan adlarını aynı siteye bağlamak bu yolla yapılıyor.
Alan adı ve barındırma ayrı firmada olabilir mi?
Olabiliyor. Alan adının kaydı bir firmada dururken barındırma başka bir firmadan alınabiliyor; ikisini birbirine bağlayan şey ad çözümleme ayarları oluyor.
Bu düzende ayarların nasıl kurulacağını DNS ayarları yazımızda adım adım anlatmıştık. Yanlış kurulduğunda site açılmıyor ama bunun nedeni barındırmanın çalışmaması değil, isteğin doğru sunucuya hiç ulaşmaması oluyor.
Sık Sorulan Sorular
Hosting ne demek?
Alan adınıza gelen isteği karşılayan ve sitenizin dosyalarını yanıt olarak dönen sunucuyu sağlayan hizmet.
Tek sunucuda birden çok site nasıl duruyor?
Apache'nin belgesine göre sunucu, istemcinin başlıklarda bildirdiği ana makine adına bakarak hangi sanal sunucunun yanıt vereceğini seçiyor.
Her site için ayrı IP gerekiyor mu?
Gerekmiyor. Belge, adres tabanlı yöntemin her site için ayrı adres istediğini, isim tabanlı yöntemde ise birçok sitenin aynı adresi paylaşabildiğini belirtiyor.
Adres eşleşmezse ne oluyor?
Nginx'in belgesine göre ilk tanımlı sunucu varsayılan olarak isteği karşılıyor.
Yanlış site açılıyorsa sorun nerede?
Sunucu adının açıkça tanımlanmamış olması beklenmeyen eşleşmelere yol açabiliyor.
Özetle
Barındırma, isteğin ucundaki makineyi sağlayan hizmet ve tek bir sunucu, istekteki ana makine adına bakarak hangi siteyi sunacağını seçiyor. Paylaşımlı barındırmanın temelinde bu teknik duruyor: dosyalar ayrı, makine ortak. Yapılandırmada sunucu adı eksik kalırsa istek yanlış siteye düşebiliyor.
Sitenizin barındığı sunucuda kaç site olduğunu biliyor musunuz, sağlayıcınıza hiç sordunuz mu?
Güncelleme: 27 Ağustos 2026. Apache HTTP Server'ın isim tabanlı sanal sunucu belgesi ve Nginx'in istek işleme belgesi kontrol edildi.
Dijital Dünyanıza Yön Veren Pusula