ASp, Asp.net, jsp, php gibi etkileşimli web uygulamaları geliştirmeye imkan veren teknolojiler sunucu tarafında çalışan (server side) sistemlerdir. Html , javascript ise istemci taraflı çalışan (client side) sistemlerdir.
İstemci (Client) Nedir : Bir ağ üzerinde, sunucu bilgisayarlardan hizmet alan kullanıcı bilgisayarlarıdır. Bilgiye erişim yetkileri sunucu tarafından belirlenir. Eğer bir bilgisayardan Internete bağlanılarak web siteleri ziyaret ediliyorsa o bilgisayar İstemci bilgisayardır.
Sunucu (server) Nedir : Sunucular bir ağ üzerinde bilgileri veya uygulamaları kullanıcılara paylaştıran, donanım ve yazılım bileşenlerinden oluşan özel bilgisayarlardır.
Sunucular sundukları hizmete göre isimlendirilirler. Örneğin sunucu bilgisayar bir veritabanı hizmeti sağlıyorsa “veritabanı sunucusu” bir “web server” olarak hizmet veriyorsa “Web sunucusu” şeklinde isimlendirilebilirler.
Yurkarıdaki tanımlardan anlaşılacağı üzere burada bahsi geçen istemci (client) internete bağlı olarak gezinen bir kişinin bilgisayarı iken, o kişinin erişmeye çalıştığı web sitesini barındıran bilgisayar ise sunucu(server) bilgisayardır .
İstemci Tabanlı Çalışma: Bu çalışma sisteminde sayfalar sunucuda herhangi bir işlem yapılmadan istemciye gönderilir. İstemci gelen bilgileri yorumlayarak tarayıcı yazılımı vasıtasıyla sayfayı görüntüler. Html ile hazırlanan bir web sitesi istemci tabanlı çalışan bir sistemdir. Tarayıcı üzerinden kaynağı görüntüleyen birisi html kodlarına erişebilir.
Sunucu Tabanlı Çalışma: Bu çalışma sisteminde istemci sunucudan bir istekte bulunduğu zaman kodlar sunucu üzerinde çalıştırılır ve işlemin sonucunu içeren bir sayfa üretilerek istemciye iletilir. İstemci gelen bilgileri tarayıcı yazılımı vasıtasıyla sayfayı görüntüler. Tarayıcı üzerinden kaynağı görüntüleyen birisi kaynak kodlara (.net, asp, php kodlarına) ulaşamaz sadece dönen sonucun ürettiği html kodlarına erişebilir.