Bir internet sitesi nasıl çalışır? Domain, hosting, DNS nedir?

Bu yazıda biraz işimizin temellerine döneceğiz. Bir internet kullanıcısı tarayıcısının adres çubuğuna internet sitenizin adresini yazdığında, ana sayfanızı görene kadar hangi yollardan geçiyor, arka planda neler oluyor bunları açıklamaya çalışacağız.

Hangi işi yapıyor olursanız olun, çalıştığınız zemine hakim olmak önemlidir. Kullandığınız altyapıyı tanırsanız, bu altyapıda karşılaşmanız muhtemel problemleri önceden öngörebilir, öngöremediğiniz problemlerde de daha hızlı çözüm üretebilirsiniz.

Diğer bir deyişle, çalışırken neden çalıştığını bilmediğiniz bir internet sitesi çalışmadığı zaman da neden çalışmadığını bilemezsiniz.

İnternet ve IP adresi nedir?

İnternet, İngilizce international network (uluslararası ağ) kelimelerinden türetilmiş bir kısaltmadır. Bağlı tüm bilgisayarların birbiri ile haberleşebildiği devasa bir ağ. Biz bu ağa katılmak için İnternet Servis Sağlayıcısı (ISS) denen aracıların sunduğu altyapıyı kullanırız. (Örneğin TTNET bir internet servis sağlayıcısıdır.) Dünya genelinde tüm ISS’ler birbiri ile bağlıdır ve biz bu ISS’lar üzerinden tüm ağa erişim sağlayabiliriz. (Tabi bazı durumlarda sadece ISS’nın izin verdiği kadarına)

İnternet’e bağlı cihazlar arasında iletişimi sağlayabilmek için o cihaza özel atanmış bir numara bulunur. IP (İnternet protokol) adresi denen bu adres aracılığı ile tüm diğer bilgisayarlara erişimimiz mümkün olur. Siz de şu adresten kullandığınız cihaza ait ip adresini öğrenebilirsiniz.

Özetle internete bağlı her cihaza ait 123.456.789.123 şeklinde bir ip adresi vardır ve cihazlar bu ip adresleri üzerinden birbiri ile iletişim sağlarlar.

Web hosting nedir?

İnternet siteniz aslında bir klasör dolusu dosyadan ibarettir. Bu klasör içerisinde sitenizin kaynak kodları, kullandığı görseller, stil dosyaları yer alır.

İnternet sitenizin 7/24 kullanıcılara ulaşabilmesi için ise kesintisiz olarak internete bağlı bir bilgisayarda bu dosyaları barındırmanız gerekir.

Teknik olarak bu bilgisayar gerekli ayarlamaları yaptığınız sürece sizin evdeki bilgisayarınız olabilir. Fakat insanların kesintisiz olarak internet sitenize erişimini sağlayabilmek evde pek mümkün olmayabilir.

Yine de konu hakkında daha fazla deneyim kazanmak isteyen kişilere deneysel olarak kendi bilgisayarlarında bir internet sitesi yayını yapmayı denemelerini öneririm. İnternet iletişimi hakkındaki tüm sorularınıza o süreçte cevap bulacaksınız muhtemelen.

Web sitelerinin barındırıldığı bilgisayarlar, amaçlarına uygun işletim sistemleri ve yazılımlar çalıştırırlar. Bu bilgisayarlara kesintisiz internet ve elektrik sağlamanız gerekir. Bazen senelerce kapanmayan bu bilgisayarların çalıştığı ortam ve sıcaklığın da kontrol altında tutulması gerekir.

Tüm bu sebeplerle de internet sitenize ait dosyaları barındırmak üzere ayrı bir hizmet almanız gerekir. Bu noktada ise devreye hosting firmaları giriyor. Hosting firmaları tüm gerekli altyapı şartlarınız sağladıkları web sunucuları internet sitesi sahiplerine kiralayan firmalardır.  Aldığınız bu hizmete de web hosting (barındırma) hizmeti deniyor.

Hosting  firmaları web server üzerinde bazen 200-300 web sitesi barındırdıkları için başlangıç seviyesinde çok uygun fiyatlarla size dosyalarınızı koyabileceğiniz bir klasör kiralarlar.

Paylaşımlı hosting hizmeti denen bu modelde web sitenizle birlikte aynı sunucuda pek çok başka web sitesi de barındırılır ve bu komşu web siteleri ile aynı bilgisayarı paylaşırsınız. Dolayısıyla en uygun fiyatlı çözümdür.

Web sitesi ziyaretçi trafiği çok yüksek olmayacak siteler için en uygun çözümdür. Ayrıca bir sunucu yönetimi ile de uğraşmazsınız.

Ancak web sitesi ziyaretçi trafiğiniz arttıkça size ayrılan bu alan ve sistem kaynakları yeterli gelmemeye başlayabilir. Sitenizin performansı düşebilir, payınızdan fazla kaynak tükettiğiniz durumlarda aldığınız hizmet firma tarafından durdurulabilir. Bu gibi durumlarda artık size özel bir web sunucuya ihtiyaç duyabilirsiniz.

Domain (Alan adı) nedir, ne işe yarar?

İnternete bağlı tüm cihazların bir IP adresine sahip olduğunu söylemiştik. Bu adresler üzerinden biz tüm diğer bilgisayar ve web sitelerine erişebiliriz. Fakat ulaşmak istediğimiz her internet sitesi için bu ip adreslerini kullanmak zorunda kalsak işimiz çok zor olurdu. Bu sebeple bu ip adreslerini daha anlamlı hale getirebilmek için domain (alan adı) denen isimleri kullanırız.

Alan adları ile bu adların işaret ettikleri ip adreslerinin eşleştirilmesi işlemi DNS (Domain Name System) denen bir sistem ile sağlanır. Bir DNS istemcisi olan bilgisayarınız, yazdığınız domain adresinin hangi ip ile eşleştiğiniz DNS sunucularına sorarak yanıtını bulur.

Bir hosting firmasından hosting satın aldığımızda bize NS (Name Server) diye bir bilgi verirler. Çoğunlukla ns1.firmaadi.com ve ns2.firmaadi.com şeklinde olan bu NS bilgilerini domain kaydımız üzerinde tanımlamamız istenir. İşte bu bilgiler alan adımızın hangi firmanın sunucularında barındırıldığını ona söyleyen bilgilerdir. Bu tanımlamayı yaptığımızda alan adımıza gelen talepler firmanın DNS sunucusuna yönlendirilir. Firmanın DNS sunucusu ise gelen talepleri ilgili sunuculara yönlendirir.

Biz farkında olmasak da her bir sayfa isteğimiz sırasında, her bir mail gönderiminde aslında pek çok farklı DNS sunucusunun kapısını çalmış oluyoruz.

 

Ayrıca DNS sunucuları üzerindeki veriler çok yoğun kullanıldığı ve çok sık güncellenmediği için işleri hızlandırmak için sıkı bir cache mekanizması kullanılır. Bu sebeple DNS üzerinde yaptığımız değişikliklerin herkes için geçerli olması için bazen ciddi sürelerde beklememiz gerekir.

DNS kayıt türleri

Her bir alan adını sadece tek bir web sitesine ait ip ile eşleştirmek için kullanmıyoruz. Web sitemiz ayrı bir sunucuda, aynı domaindeki maillerimiz farklı bir sunucuda, bazen de alt domain üzerinden erişilebilen bitemizin bir bölümü farklı bir sunucuda olabilir. Alan adımız üzerinde bu ayrıştırmaları yapabilmek için DNS kayıtlarını kullanıyoruz. En yaygın DNS kayıt türleri ise şöyle;

A Kaydı: En yaygın kullanılan kayıt türüdür. Bir alan adının işaret ettiği IP adresini belirtmek için kullanılır.  Örneğin algoritmikjimnastik.com alan adını bir ip ile A kaydı aracılığı ile eşleştirebiliriz. Aynı alan adı üzerindeki örneğin mail.algoritmikjimnastik.com alan adını ise başka bir A kaydı ile farklı bir ip adresine yönlendirmemiz mümkün.

MX Kaydı: Bu alan adına gönderilen e-postaların işlendiği mail sunucusu MX kaydında belirtilir. Web sunucu ile aynı olabileceği gibi farklı bir IP adresine de yönlendirilebilir.

CNAME Kaydı: Bir alan adını başka bir alan adına yönlendirmek için kullanılan kayıt türüdür. Örneğin www.algoritmikjimnastik.com alan adını algoritmikjimnastik.com alan adına yönlendirmek için yeni bir A kaydına gerek duymadan bir CNAME kaydı oluşturabilirsiniz.

Bunlar haricinde NS, TXT, AAAA gibi pek çok farklı DNS kayıt türü de mevcuttur. Şimdilik onlara girmeyeceğiz.

Sunucuda neler oluyor?

Buraya kadar söz ettiklerimiz istemcilerin domain adresleri üzerinden, taleplerine göre ilgili sunuculara yönlendirilmesi için gerekliydi. DNS sistemi ziyaretçileri web sunucumuzun kapısına kadar getirdi. Şimdi onların taleplerine cevap verebilmeliyiz.

Öncelikle sunucumuza gelen tüm talepleri Firewall adındaki güvenlik görevlilerimiz ile karşılıyoruz. Firewall üzerindeki ayarlar ile gelen taleplerin bir kısmını reddetmemizi sağlayan bir güvenlik sistemi. Kötü amaçlı talepleri, sunucuya yapılan saldırıları firewall aracılığı ile bize ulaşmadan engellemeye çalışıyoruz. Her zaman başaramıyoruz elbette fakat önemli bir güvenlik katmanı.

Firewall’u aşmayı başaran talepler ise web sunucumuza iletilir. Burada portlar devreye giriyor. Portlar sunucumuzun pek çok farklı türden talebi birbirinden ayrıştırmasını ve bunlara cevap verebilmesini sağlıyor. (Örneğin klasik bir web serverda 80 HTTP, 443 HTTPS protokollerine cevap verir)

HTTP (Hyper Text Transfer Protocol) web sitemize ait dosyaları istemcilere sunduğumuz protokoldür. Sitemizdeki tüm html kodları, resimler, stil dosyaları, istemci tarafında çalışacak javascript kodları bu protokol üzerinden istemciye gönderilir. HTTPS ise aynı protokolün aradaki bilgi alışverişinin şifrelenmiş olarak yapıldığı halidir.

Mümkün olduğu kadar kısaca bir ziyaretçinin web sitesine erişebilmek için izlediği yolları açıklamaya çalıştık. Siz de fikir sahibi olmak için komut satırına tracert websiteniz.com (Mac kullanıcıları için traceroute websiteniz.com) yazarak web sitenize hangi yollardan geçerek erişebildiğinizi kontrol edebilirsiniz.

Eklemek istedikleriniz ve sorularınız için aşağıdaki yorumlar bölümünü kullanabilirsiniz.

“Bir internet sitesi nasıl çalışır? Domain, hosting, DNS nedir?” için bir cevap

Yorumunuzu Yazın