Client چیست؟ Client یا مشتری یک مفهوم کلی بوده و در بخشهای متنوعی استفاده میشود. کلاینت در دنیای شبکه و علوم رایانه به کامپیوتر یا کاربری گفته میشود که یک درخواست دارد. این درخواست توسط سرور پردازش میشود و به خاطر همین کلاینت و سرور کنار هم معنی پیدا میکنند. این مفهوم در قالب یک مدل ارائه میشود که به آن مدل Client-Server میگوییم(برای اطلاعات بیشتر به مقاله سرور چیست مراجعه نمایید). کلاینت به طور معمول در شبکه استفاده شده و به 3 دسته کلی تقسیم میشود. در ادامه به طور مفصل درباره کلاینت و انواع آن صحبت میکنیم و میگوییم معنی کلاینت به فارسی چیست . همراه ما باشید.
قبل از شروع به خواندن مقاله اگر به مفاهیم ابتدایی برنامه نویسی علاقهمند هستید و میخواهید وارد این حوزه شوید پیشنهاد میکنیم به صفحه آموزش برنامه نویسی ما هم سری بزنید.
کلاینت به فارسی یعنی مشتری. با کمی دقت در معادل فارسی آن و درک مفهوم مشتری، میتوانیم متوجه بشویم که کلاینت چه کاری انجام میدهد. البته اشاره به مفهوم سرور کار را راحتتر میکند. سرور در فارسی به معنی سرویسدهنده یا خدمت کننده میباشد. به این مثال توجه کنید. زمانی که میخواهید یک پیراهن جدید بخرید، به عنوان مشتری (کلاینت) به فروشگاههای لباس سر میزنید، فروشنده مغازه (سرور) سوالاتی پرسیده و اطلاعاتی مثل سایز، رنگ مورد علاقه و غیره را از شما میگیرد. بعد با توجه به این اطلاعات پیشنهادهایی داده و در آخر پیراهن مدنظر را به شما میفروشد. این یک نمونه از رابطه Client/Server در دنیای واقعی است. پس کلاینت واقعا مثل یک مشتری عمل میکند.
کلاینت یک مفهوم کلی بوده و نمیتوان آن را به یک بخش خاص محدود کرد. اما کاربرد اصلی آن در مباحث شبکه و کامپیوتر است. حالا اگر بخواهیم کلاینت را از نظر فنی تعریف کنیم، باید بگوییم که کلاینت کامپیوتر یا برنامهای است که یک درخواست به کامپیوتر یا نرم افزاری دیگر با نام سرور ارسال میکند. البته گاهی کامپیوتر هم میتواند کلاینت باشد هم سرور. یعنی خودش درخواستی داده و خودش هم به آن درخواست پاسخ بدهد. در ادامه بیشتر راجع به مفهوم کلاینت و رابطه آن با سرور صحبت میکنیم.
گفتیم که کلاینت و سرور کنار هم معنی پیدا میکنند و نمیتوان آنها را از هم جدا کرد. در مدل Client/Server روی کامپیوتر سرور، یک یا چند برنامه مرتبط نصب میشود که منابع سختافزاری سرور را برای کلاینتها به اشتراک میگذارد. اما کلاینت اشتراک منابع انجام نداده و فقط درخواست محتوا یا سرویس مدنظر خود را به سرور ارسال میکند. برخی از معروفترین سرویسهایی که از مدل کلاینت/سرور استفاده میکنند عبارتند از اینترنت، ایمیل، پرینترهای تحت شبکه و غیره. برای بررسی بهتر این موضوع که کلاینت چیست باید کمی موضوع را باز کنیم.
اگر مفهوم کلاینت را از شبکه محلی وارد شبکهای بزرگتر یعنی اینترنت بکنیم، با طیف وسیعی از سرویسها مواجه میشویم. سادهترین نمونه که در حال حاضر هم از آن استفاده میکنید، وب گردی است. برای مثال شما وارد سایت سون لرن شدهاید و این مطلب را مطالعه میفرمایید. برای مشاهده این صفحه مرورگر شما یک درخواست به وب سرور ارسال کرده و سرور صفحه وب مورد نظر (این صفحه از سون لرن) برای شما نشان میدهد.
زمانی که در حال فرستادن ایمیل هستید، یک کلاینت محسوب میشوید و درخواست شما توسط میل سرور پردازش میشود. یک مثال دیگر پیامرسانها هستند. امروزه پیامرسانها به یک بخش جدانشدنی از زندگی ما تبدیل شدهاند. چون نسبت به SMS یا روشهای مشابه سریعتر و ارزانتر هستند و امکانات بیشتری دارند. شما هنگام چت با دوست خود یک کلاینت هستید و پاسخگوی شما، سرور آن پیامرسان است. در بازیهای رایانهای آنلاین یا تحت شبکه، شما در نقش یک کلاینت مشغول به بازی شده و درخواست شما در سرور بازی پردازش میشود.
حالا که فهمیدیم کلاینت چیست و چه رابطهای با سرور دارد، بهتر است کمی درباره انواع کلاینت صحبت کنیم. ما در شبکه به عنوان Client کارهای مختلفی انجام میدهیم و با توجه به نوع فعالیت، نقش ما تغییر میکند. در واقع این دستهبندیها نوع تعامل ما با سرور را نشان میدهند. کلاینت به 3 دسته کلی تقسیم میشود:
Fat Client یا کلاینت فَربِه، مستقل از سرور کار میکند. به این معنی که بیشتر پردازشها را خودش مدیریت کرده و تا حد ممکن جدا از سرور کار میکند. فت کلاینتها از RAM و CPU کامپیوتر لوکال استفاده میکنند، به همین خاطر فشار زیادی روی سرور ندارند. فقط برای انجام بعضی از کارها مانند ایجاد تغییرات، ذخیره سازی فایل یا چیزهای مشابه سراغ سرور میروند. اگر با کامپیوتر شخصی خود از یک نرم افزار تحت وب استفاده میکنید که بار پردازش آن روی دستگاه شما تقسیم شده است، شما در شبکه Fat Client به حساب میآیید. سرویسهای G-Talk، Microsoft Outlook ،یاهو مسنجر، سایتهای بزرگ تجاری و غیره نمونههایی از Fat Client هستند.
چون بیشتر پردازشها در سمت کلاینت انجام میشود، فشار روی سرورها کمتر شده و منابع کمتری مصرف میکنند. در این روش نیازی به اتصال پایدار به سرور نیست و Fat Client میتواند در بسیاری از مواقع به صورت آفلاین کار کند. در تعامل با برنامههای سنگین چندرسانهای مثل بازیهای رایانهای آنلاین، Fat Client انتخاب ایدهالی است. چون نیازی به افزایش پهنای باند سرور نداریم. Fat Client انعطاف بالایی دارد و از آنجا که امروزه بیشتر افراد کامپیوترهای قدرتمند و سریع دارند، زیرساختهای لازم برای استفاده از آن آماده میباشد و نیازی به هزینه اضافی نیست. با کمتر شدن فشار به سرور میتوان تعداد کابران را افزایش داد و حجم سرویسدهی را بیشتر کرد. همینطور با آزاد بودن منابع میتوان تعداد سرورها را کم کرد.
مزایای استفاده از Fat Client به طور خلاصه:
Thin Client یا کلاینت لاغر نوع دیگری از کلاینت است که برخلاف Fat Client کاملا به سرور وابسته است. Thin Client اپلیکیشن تحت وبی است که با یک مرورگر در شبکه اینترنت قابل دسترس میباشد. هنگام استفاده از این مدل کلاینت، نرم افزار خاصی روی کامپیوتر لوکال نصب نشده و تمام پردازشها در سرور انجام میشوند. پس اینبار فشار اصلی روی سرور است نه کامپیوتر کاربر.
در این روش کلاینت فقط نیاز به اتصال اینترنت دارد و با طیف زیادی از دستگاهها میتوان با سرور در ارتباط بود. این ویژگی باعث شده است که Thin Client تا حد زیادی قابل حمل (Portable) باشد. در این مدل کلاینت زمانی که سرعت اینترنت کاربر و پهنای باند سرور مناسب باشند، به یک اتصال مطمئن و قابل اعتماد خواهیم رسید. یکی از مثالهای Thin Client وبسایتها هستند. تمام سایتهای دنیا مانند Google.com یا Yahoo.com از این متد استفاده میکنند. همینطور نرم افزارهای تحت وب مانند نسخه آنلاین آفیس و غیره.
مزایای استفاده از Thin Client به طور خلاصه:
Hybrid Client ترکیبی از دو مدل Fat و Thin است. در این مدل شبیه به Fat Client پردازشها در محیط لوکال مدیریت شده و شبیه به Thin Client برای ذخیرهسازی دادهها مرتب با سرور در تعامل میباشد. در این روش میتوانیم مزایای هر دو کلاینت را کنار هم داشته باشیم. بازدهی بالا و پشتیبانی مناسب از چندرسانهای که نقاط قوت Fat Client هستند در کنار انعطاف و مدیریت بالا که از مزایای Thin Client حساب میشوند. یکی از کاربردهای Hybrid Client در انجام بازیهای رایانهای است. مثلا شرکت بازیسازی معروف Blizzard Entertainment بازی Diablo III را تحت این سرویس ارائه کرده است.
در این مطلب به طور کامل بررسی کردیم که Client چیست . کلاینت یک مفهوم کلی است که به طیف گستردهای از کامپیوترها و انواع دستگاههای داخل شبکه اشاره میکند. میدانیم که اینترنت بزرگترین شبکه کامپیوتری در جهان است که میلیاردها دستگاه را به هم متصل کرده است. کلاینت و سرور مثل پرسش و پاسخ در کلاس درسی هستند. دانشجو (کلاینت) سوال خود را (درخواست) مطرح کرده و استاد (سرور) به آن پاسخ (اعمال تغییرات، ذخیره سازی یا غیره) میدهد. کلاینت به 3 دسته کلی Fat، Thin و Hybrid تقسیم میشود. هر کدام از این متدها مزایا و معایب خودشان را دارند و در جاهای مختلف استفاده میشوند. اگر در مورد مفهوم کلاینت یا سرور سوالی دارید حتما آن را با ما و کاربران سون لرن در میان بگذارید.