Server-side ve Client-side Programlama nedir?
Bir web uygulaması hazırlarken yazılan kodlar çalıştığı yere göre ikiye ayrılırlar. Kodların bir kısmı server (sunucu) tarafında, diğer kısmı ise client (istemci) tarafında çalışır.
Server web uygulamalarına ait verilerin bulunduğu ve kullanıcıyla etkileşimli olarak işlemlerin yapıldığı bilgisayarlara verilen isimdir. Aslında sunucular birer bilgisayardır. Fakat kullandığımız bilgisayarlara göre daha güçlü kaynaklara sahiptirler. Server ve client transfer protokolleri aracılığıyla etkileşim halindedirler. Server’lar çalıştırdıkları uygulamaların yazıldıkları programlama dilleri aracılığıyla client’ın isteklerini işleyip tekrar client’a cevap gönderirler.
Client denildiğinde aklımıza web tarayıcıları gelmelidir. Kullanıcılar tarayıcılar aracılığıyla bağlanmak istedikleri web sayfasının domain adresini girerek server’a istek göndermiş olurlar yani server ile etkileşime geçilmiş olur.
Dinamik bir web uygulaması yapmak istiyorsak yazılımımızın hem client hemde server tarafında çalışan kısımları olmalı. Kullanıcı client tarafında işlemler yaparak server’a gönderir ve gelen isteğe bağlı olarak server gerekli işlemler yapıp sonucu client’a tekrar gönderir. Bir uygulamanın dinamik olması ise client’dan gelen taleplere veya kullanıcıya göre server’ın veritabanından farklı sonuçlar oluşturarak client’a geri göndermesidir.
Server-side programlama programların server tarafında çalıştırılan kısımlarına verilen isimdir. Bu tarafta kodlama yapmak için client tarafında kullandığımızdan farklı programlama dilleri kullanırız ve genellikle server taraflı programlama veritabanıyla etkileşimli halde bulunmaktadır. Bu yüzden bu kodlara client tarafından ulaşılamaz ve güvenlik verilerin korunması açısından çok önemlidir. Bu tarafta yapılan kodlama server yazılımları tarafından çalıştırılabilir olmalıdır. Server taraflı programlama dillerine örnek vermek gerekirse; Python, Java, Node.js, PHP, Ruby
Client-side programlama ile kullanıcı web tarayıcısında sonuç üretip web sunucusuna bir istek gönderebilir. Bu taraftaki kodların çalışması için server’a ihtiyaç yoktur. Kodların çalışması için client tarafında ki tarayıcılar yeterlidir. Ayrıca bu tarafta çalıştırılan kodlar server tarafındaki kodların aksine herkes tarafından ulaşılabilir. Sayfa kaynağını inceleyerek tüm kodlara erişim sağlayabiliriz. Client-side programlama dillerine örnek olarak Html, CSS JavaScript’i verebiliriz.