اول بهتر به طور کلی با سرور کلاینت آشنا شویم:
سرور Server: سرور مسئول ارائه صفحات وب طبق نیاز و خواسته مشتری در اینترنت است که این کار می تواند هم به صورت استاتیک (ثابت) و هم به صورت داینامیک (پویا) انجام شود.
کاربر Client : بخش کاربر قسمتی است که صفحات را از سرور درخواست می کند و آن را به کاربر نهایی نمایش می دهد. به طور کلی برنامه و نرم افزارهای سمت کاربر، مرورگرهای وب (Web browser) می باشند.


در برنامه نویسی برای تولید وبسایت دو نوع برنامه نویسی وجود دارد؛
1- برنامه نویسی سمت سرور (Server Side Programming)
2- برنامه نویسی سمت کاربر (Client Side Programming)


-برنامه نویسی سمت سرور: امروزه شرکت های زیادی در مبحث برنامه نویسی تحت وب در حال فعالیت هستند. برنامه نویسی سمت سرور یک تفاوت عمده با برنامه نویسی سمت کاربر دارد؛ برنامه نویسی سمت سرور تمرکز بیشتر بر روی کارکردهای پشت صحنه و ارتباطات سایت با بانک های اطلاعاتی و داده ها دارد. در این بین زبان های ASP.NET, Python, C#, Java در زمره این نوع برنامه نویسی می باشند و پرکاربردترین آنها در حال حاضر زبان قدرتمند PHP می باشد.


-برنامه نویسی سمت کاربر: در این بخش، وب دیزاینرها (طراحان سایت) فعالیت می کنند. تقریباً برخلاف برنامه نویسی سمت سرور این بخش بر روی فاکتورهای ظاهری تمرکز دارد. شناخته شده ترین این زبان ها، زبان های HTML و CSS است. اگر بخواهیم به طور ساده بیان کنیم ساختار و سازمان دهی کلی صفحات سایت با HTML و جزئیات آن مانند نوع نوشته، فونت، رنگ ها و از این دست صفات توسط CSS طراحی می شود. مورد دیگری که می توانیم به آن اشاره کنیم زبان JAVA Script می باشد. عملکردهایی مانند عکس العمل به فشار کلید یا کنترل حرکت ماوس و کارایی های تعاملی وبسایت از Java Script استفاده می شود. این زبان تنها توسط مرورگر اجرا می شود.


مکانیزم سمت سرور و سمت کاربر:
کاربر در ابتدا مرورگر خود را باز می کند.
سپس شروع به جستجو در موتورهای جستجو می کند یا آدرس سایتی را وارد می کند. برای مثال ArvinKaren.Com را در مرورگر خود وارد می کند.
بخش کاربری (Client) این درخواست را به منظور دسترسی کاربران به صفحات سایت، به سرور تحویل می دهد.
سرور درخواست بخش کلاینت را تایید می کند و پاسخ را به همان بخش کاربری برمی گرداند.
کلاینت هم منبع یا همان سورس صفحه را دریافت و ترجمه می کند.

استفاده ها و عملکردهای سمت سرور:
ورودی کاربر را پردازش می کند
نمایش صفحات درخواست شده
ساختار برنامه های وب
تعامل با سرورها و فضاهای ذخیره سازی (Storages)
تعامل با پایگاه های داده
رمزگذاری داده ها به HTML
انجام عملیات هایی در پایگاه داده مانند پاک کردن، پاکسازی.

زبان های برنامه نویسی سمت سرور:
PHP
ASP.NET
C++
Java و JSP
Python
Ruby و …

استفاده و عملکردهای سمت کاربر:
ایجاد صفحات وب تعاملی
پویاسازی اجزای سایت
تعامل با ذخیره سازی و حافظه های موقت
به عنوان یک رابط کاربری میان کاربر سایت و سرور فعالیت می کند.
ارسال درخواست به سمت سرور
بازیابی اطلاعات از سرور
تعامل با ذخیره سازی های محلی
فراهم سازی دسترسی از راه دور

زبان های برنامه نویسی سمت کاربر:
Java Script
VBScript
HTML (ساختار سایت)
CSS (زبان طراحی سایت)
AJAX
JQuery و …