Client-Server Architecture

در معماری Client-Server، منطق (یا کد) یک Application بین دو یا چند جزء تقسیم می‌شود: یک Client که درخواست انجام کار می‌کند (برای مثال، Web Application جیمیل که در مرورگر شما اجرا می‌شود) و یک یا چند Server که آن درخواست را پاسخ می‌دهند (برای مثال، سرویس «Send Email» که روی رایانه‌های گوگل در Cloud اجرا می‌شود). در این مثال، ایمیل‌های خروجی که شما می‌نویسید توسط Client (Web Applicationی که در مرورگر شما اجرا می‌شود) به Server (رایانه‌های جیمیل که ایمیل‌های خروجی شما را به گیرنده‌ها ارسال می‌کنند) فرستاده می‌شوند.

این رویکرد در تضاد با Applicationهای خودکفا (مانند Desktop Applicationها) است که تمام کار را در یک محل انجام می‌دهند. مثل برنامه واژه‌پردازی Microsoft Word که ممکن است به‌طور کامل روی رایانه شما نصب و اجرا شود.

مسئله‌ای که حل می‌کند

معماری Client-Server چالش بزرگی را که Applicationهای خودکفا ایجاد می‌کنند حل می‌کند: به‌روزرسانی‌های منظم. در یک App خودکفا، برای هر به‌روزرسانی، کاربران باید نسخه جدید را دانلود و نصب کنند. تصور کنید مجبور باشید پیش از مرور کاتالوگ محصولات Amazon، کل آن را روی رایانه خود دانلود کنید!

چگونه کمک می‌کند

با پیاده‌سازی منطق Application در یک Server یا Service راه دور، اپراتورها می‌توانند آن را بدون تغییر منطق سمت Client به‌روز کنند. این یعنی به‌روزرسانی‌ها می‌توانند بسیار پرتکرارتر انجام شوند. ذخیره‌سازی داده روی Server به Clientهای متعدد اجازه می‌دهد داده مشترک را ببینند و به اشتراک بگذارند. تفاوت میان استفاده از یک واژه‌پرداز آنلاین و واژه‌پرداز سنتی آفلاین را در نظر بگیرید. در حالت نخست، فایل‌های شما در سمت Server وجود دارند و می‌توان آن‌ها را با کاربران دیگر به اشتراک گذاشت؛ کافی است آن‌ها فایل را از Server دانلود کنند. در دنیای Legacy، فایل‌ها باید روی رسانه‌های قابل حمل (مثل Floppy Disk!) کپی و با افراد به اشتراک گذاشته می‌شد.


آخرین ویرایش September 26, 2025: [fa] Add Persian to the list of localized languages (6511f5f)