Web Sunucuları Nedir ve Nasıl Çalışır?

Web sunucusu, internet üzerindeki web içeriklerini kullanıcıların tarayıcılarına ileten, depolayan ve yöneten bir yazılım veya donanım sistemidir. Temel işlevi, kullanıcıların talepleri doğrultusunda web sayfalarını ve diğer içerikleri sunmaktır. Web sunucuları, HTTP (Hypertext Transfer Protocol) ve HTTPS (HTTP Secure) gibi protokoller aracılığıyla çalışır. Web sunucusunun çalışma mantığı, istemci (tarayıcı) ile sunucu arasındaki etkileşime dayanmaktadır.

Çalışma Prensibi

Web sunucusunun çalışma prensibi, istemci ve sunucu arasındaki etkileşimi sağlayan bir dizi adım ve protokolden oluşur. Bu süreç, kullanıcıların web sayfalarına erişimini sağlamak amacıyla tasarlanmıştır.

İstemci Talebi

Web sunucusunun işleyişi, kullanıcıların web tarayıcılarına belirli bir URL’yi (Uniform Resource Locator) girmesiyle başlar. Örneğin "www.example.com" gibi bir adres yazdığında, tarayıcı bu URL’yi analiz eder ve içindeki alan adı kısmını belirler. Kullanıcıdan gelen bu talep, istemcinin web sunucusuna bir HTTP isteği göndermesine yol açar. HTTP isteği, kullanıcının talep ettiği içeriğin türünü belirtir ve genellikle bir GET isteği şeklinde gelir. Bu aşamada, tarayıcı, istenen kaynağın bulunduğu sunucuya ulaşabilmek için gerekli olan IP adresini belirlemek amacıyla bir DNS (Domain Name System) sorgusu yapar.

DNS Sorgusu

DNS sorgusu, kullanıcının yazdığı alan adını, ilgili web sunucusunun IP adresine dönüştürmek için gerçekleştirilen bir süreçtir. Kullanıcı tarayıcısı, DNS sunucusuna bir sorgu gönderir ve DNS sunucusu, önbellekte önceden kaydedilmiş DNS kayıtlarını tarayarak bu alan adının karşılık geldiği IP adresini bulur. Bu işlem, genellikle birkaç milisaniye içinde gerçekleşir ve tarayıcı, elde edilen IP adresine HTTP isteğini yönlendirmek için hazır hale gelir.

Bağlantı Kurulması

Elde edilen IP adresi ile tarayıcı, web sunucusuna bağlantı kurar. Bu aşamada, tarayıcı sunucuya bir TCP (Transmission Control Protocol) bağlantısı kurar. TCP, güvenilir bir iletişim kanalı oluşturmak için veri paketlerinin doğru bir şekilde iletilmesini sağlar. Bağlantı sağlandıktan sonra, tarayıcı, sunucuya HTTP isteğini iletir. Bu istek, “GET” metodu ile başlar ve istemcinin talep ettiği belirli bir kaynak veya dosyanın yerini belirtir. İsteğin yapısı, istenen dosyanın yanı sıra tarayıcı bilgileri, kullanıcı tanımlayıcıları ve diğer veri unsurlarını da içerebilir.

İstek İşlenmesi

Web sunucusu, gelen HTTP isteğini aldıktan sonra, ilgili işlemleri gerçekleştirmek üzere yapılandırılmış bir dizi süreç başlatır. İlk olarak, sunucu isteği alır ve HTTP başlıklarını analiz eder. İsteğin içeriğine bağlı olarak, sunucu statik bir dosya mı yoksa dinamik bir içerik mi sunacağına karar verir. Statik içerik için, sunucu dosya sisteminden istenen dosyayı bulur ve doğrudan yanıt olarak iletilmek üzere hazırlar. Dinamik içerik talep edildiğinde ise, sunucu genellikle bir uygulama sunucusu veya veritabanına başvurur. Bu aşamada, sunucu belirli bir programı çalıştırır veya sorgu gönderir ve elde edilen sonuçları yanıt olarak hazırlamak için işler.

Yanıt Gönderimi

Web sunucusu, işlenen isteğin sonucunu içeren bir HTTP yanıtı oluşturur. Bu yanıt, içeriğin yanı sıra, bir durum kodu da içerir. Örneğin, "200 OK" durumu isteğin başarıyla gerçekleştirildiğini belirtirken, "404 Not Found" durumu istenen kaynağın bulunamadığını, "503 Service Unavailable" durumu ise sunucuda yoğunluk olduğunu gösterir. Sunucu, oluşturduğu yanıtı HTTP protokolü aracılığıyla istemciye geri gönderir. Bu aşamada yanıt, genellikle metin biçiminde (HTML, JSON, XML vb.) düzenlenir ve istemciye iletilir.

İçerik Gösterimi

Tarayıcı, sunucudan aldığı yanıtı alır ve işler. Bu işlem, HTML ve CSS dosyalarının analiz edilmesi, JavaScript’in çalıştırılması ve kullanıcı arayüzünün oluşturulmasını içerir. Tarayıcı, yanıtı görüntülemek için sayfayı render eder, yani içeriği biçimlendirerek kullanıcıya sunar. Kullanıcı, sayfa ile etkileşimde bulunduğunda, örneğin linklere tıkladığında veya formları doldurduğunda, yeni bir HTTP isteği oluşturulur. Bu döngü, web tarayıcısının kullanıcı ile web sunucusu arasındaki etkileşimi sürdürmesini sağlar.

Performansınızı ve deneyiminizi iyileştirmek için sitemizde çerezler kullanıyoruz. Bu konuda daha fazla bilgi edinmek için gizlilik politikamızı okuyun. Gizlilik Politikamız