Bir web server, görüntülenmesi istenen web sayfalarını ayırarak internet sitelerini yöneten bir programdır. Web server’ın birincil görevi internet sayfalarını saklama, işleme ve kullanıcılara dağıtmakdır. Bu dağıtım kısaca HTTP olarak bilinen HyperText Transfer Protocol üzerinden gerçekleştirilmektedir. İnternet sitelerinin büyük bir çoğunluğu sabit bir yapıya sahiptir. Bu yapıda HTML dosyaları, görseller, stil dosyaları, testler ve dahası bulunmaktadır. HTTP dışında web server e-posta için SMTP (Simple Mail Transfer Protocol) ve dosya transferi için de FTP (File Transfer Protocol) kullanmaktadır.
Web Server’ın Görevleri
Web server’ın birincil görevi internet sitesinin içeriklerini kullanıcılara göstermektedir. Eğer bir web server özel ise ve sadece kurum içi gibi bir ortama açıksa bunun adı Intranet server’dır. Bir kullanıcı internet sitesinin adresini, internet tarayıcısına girdikten sonra tarayıcı bu isteği DNS sunucularına gönderir. DNS sunucuları bu alan adına karşılık gelen IP adresine sahip web server’ı bulur ve isteği gönderir. Tüm internet sitelerinin benzersiz bir IP adresi bulunmaktadır. Bu adres internetteki farklı sunucular arasında kullanılan bir arayüzdür. Web server internet sitelerinin bilgilerinin depolandığı bilgisayardır. Her web sunucusu bir IP adresine ve domain adına sahiptir. Herhangi bir bilgisayar sunucu yazılımı ve internet bağlantısı ile bir web sunucusu gibi kullanılabilir. Günümüzde birçok web server yazılımı bulunmaktadır.
Web Server Tipleri
Web server basitçe fiziksel bir sunucu, sunucu işletim sistemi ve HTTP iletişimini sağlayacak yazılımdan oluşmaktadır. Web server tipini seçerken işletim sistemi, sunucu tarafında programlama kapasitesi, güvenlik özellikleri, arama motoru ve site kurulum araçlarının belirlenmesi gibi faktörleri göz önünde bulundurmak gerekmektedir. Günümüzde Apache, NGINX, LiteSpeed, Lighttpd, Jigsaw, Sun Java System ve IIS popüler web server tipleri arasında yer almaktadır.
Apache
Apache dünyada en çok kullanılan web server yazılımlarının başında gelmektedir. Apache’nin bu kadar popüler olmasının nedeni Windows, Linux, macOS, Unix ve diğer işletim sistemlerinde kullanılabilmesidir. Dünyada web serverlerin %60’ında Apache Web Server yer almaktadır. Apache’nin bu kadar popüler olmasının bir diğer nedeni de açık kaynaklı olmasıdır. Bu sayede ücretsizdir ve internet topluluğu tarafından desteklenmektedir. Bir problem yaşandığında ise çözüm bulmak daha kolaydır. Ayrıca kullanıcının ihtiyaçlarına göre sunucuyu şekillendirmesine de olanak sağlamaktadır. Apache’nin son sürümü önceki sürümlerine göre daha esnek bir kullanım sağlamaktadır ve istekleri daha hızlı bir şekilde işlemektedir.
Internet Information Services (ISS)
Internet Information Services kısaca ISS Microsoft tarafından geliştirilen yüksek performanslı bir web server yazılımıdır. İşletim sistemi ile iç içe geçmiş gibidir diyebiliriz ve görece kolay bir yönetime sahiptir. Microsoft tarafından geliştirildiği için destek almak kolaydır. ISS, Apache’nin sunduğu tüm özelliklere sahiptir ancak tek farkı açık kaynak kodlu olmamasıdır. Bu nedenle kodlarına erişilemez ve değiştirilemezdir. IIS herhangi bir Windows işletim sistemine sahip cihaza kolayca yüklenebilmektedir.
Lighttpd
Lightly olarak telaffuz edilen Lighttpd 2003’ten beri kullanımda olmasına rağmen Apache ya da IIS kadar popüler bir yazılım değildir. Ancak rakiplerine göre çalışması için çok düşük bir CPU yüküne ihtiyaç duymaktadır. Benzer bir şekilde bellek ayak izi de diğer yazılımlardan çok daha düşüktür. Bu özellikleri sayesinde yük problemi çeken sunucularda rahatlıkla kullanılabilmektedir. Ayrıca açık kaynak kodlu olması nedeniyle ihtiyaçlara göre şekillendirilebilmektedir. Çok yüksek sayıda bağlantıyı aynı anda destekleyebilir ve esnek sanal hosting, servlet desteği (AJP), Auth, HTTP proxy desteği gibi özellikler de sağlamaktadır.
Nginx
Nginx’de tıpkı Lighttpd gibi açık kaynaklı bir yazılım. Düşük kaynak kullanımı nedeniyle performanslı bir yazılım olan Nginx aynı zamanda ihtiyaçlara göre kolay şekillendirilebilir. Nginx genellikle cache, yayın, yük dengeleme, statik dosyaların işlenmesi ve otomatik indeksleme işlemlerini için kullanılmaktadır. Kullanıcı tarafından yapılan her bir isteği yeniden işlemek yerine Nginx istekleri asenkron yaklaşımla tek başlıkta işler. Günümüzde giderek popüler olmaya başlayan yazılım dünyadaki tüm alan adlarının %7.5%inde kullanılmaktadır.
LiteSpeed
Yüksek performanslı Apache drop-ini olan LiteSpeed dünyada en çok kullanılan yazılımdır. LiteSpeed yüklü bir web server’ın hem yönetim maliyeti düşüktür hem de performansı yüksektir. Aynı zamanda sunucu .htaccess, mod_rewrite ve mod_security gibi en yık kullanılan Apache özelliklerini desteklemektedir. LiteSpeed sunucuya Apache ayarları tüm hosting kontrol paneli ayarları da dahil olmak üzere yüklenebilmektedir. Üstelik bu işlem herhangi bir downtime olmadan 15 dakika içerisinde yapılabilmektedir.
Jigsaw
Jigsaw, Java dilinde yazılmıştır ve CGI (common gateway interference) komut dizileri ile PHP programlarını çalıştırabilmektedir. Tam anlamıyla bir sunucu değildir ve yeni web protokollerinin denenmesi için deneysel olarak geliştirilmiştir. Açık kaynaklı olmasından dolayı kodlarına erişim bulunmaktadır ve ihtiyaçlara göre değiştirilebilmektedir. Java dilini ve Java değişikliklerini destekleyen her cihazda Jigsaw kullanılabilir.
Sun Java System
Sun Microsystems tarafından geliştirilen Sun Java System Web 2.0 için ihtiyaç duyulan Python, PHP gibi çeşitli dilleri, komut dizilerini ve teknolojileri desteklemektedir. Yazılım yüksek performans, ölçeklendirilebilirlik, kolay işlenebilirlik yönüyle tanınmaktadır. Aynı zamanda ver güvenli ve komut satırı arayüzü desteği de bulunmaktadır. Yazılımın 7.0 versiyonu ile beraber komut satırı arayüzü değiştirilmiş ve “wadm” adını almıştır. Bu versiyonda HttpServerAdmin desteği bulunmamaktadır ancak içerisinde yer alan taşıma aracı sayesinde uygulamaları, internet sitelerini ve bunların ayarlarını yeni sürüme taşımak oldukça basittir.