بیشتر افرادی که در حوزه سیستم های شبکه فعالیت دارند با واژه کلاینت آشنایی خواهند داشت و یا حداقل نام آن را شنیده اند. کلاینت یا مشتری یک مفهوم کلی بوده و در بخشهای متنوعی استفاده میشود در این مقاله از مجله اینترنتی ایرانکمز به معرفی کامل کلاینت پرداخته ایم در ادامه با ما همراه باشید.
در دنیای شبکه و کامپیوترها منظور از کلاینت چیست؟
در دنیای کامپیوتر، هر دستگاه یا نرمافزاری که درخواستی به سمت سرور ارسال کند، «کلاینت» نامیده میشود. «کلاینت» در فارسی به معنای «مشتری» است.
سرور دستگاهی است که درخواستهای کلاینتها را دریافت، بررسی و پاسخ میدهد. سرور در واقع نقش مدیریت شبکه را دارد.
هنگامی که یک کلاینت درخواستی را ارسال میکند، سرور آن را پردازش میکند. به همین دلیل، کلاینت و سرور کنار هم معنا پیدا میکنند. به این مدل، «مدل کلاینت-سرور» میگویند.
برای مثال، زمانی که شما به عنوان یک مشتری، یک جنس یا خدمات را درخواست میکنید، فروشنده درخواست شما را بررسی میکند و جنس یا خدمات مورد نظر را به شما میدهد. این یک نمونه از رابطه کلاینت-سرور در دنیای واقعی است.
کلاینتها درخواستهای خود را از طریق شبکههای سیمی یا بیسیم به سرور ارسال میکنند. کلاینتها میتوانند کامپیوترها، نرمافزارها یا کاربرانی باشند که از سرویسدهنده خدمات دریافت میکنند.
کلاینتها میتوانند به صورت فیزیکی یا از طریق اینترنت به شبکه و سرور متصل شوند. در هر دو حالت، یک شبکه کلاینت-سرور ایجاد میشود.
یک دستگاه در یک شبکه میتواند همزمان هم کلاینت باشد و از سرور خدمات دریافت کند، هم سرور باشد و به سایر کلاینتهای موجود در شبکه خدمات بدهد.
در شبکه، قوانین و چارچوبی وجود دارد که وظایف کلاینت و سرور را تعیین میکند. به وظایفی که در شبکه بر عهده کلاینت است، «سمت کلاینت» و به وظایفی که بر عهده سرور است، «سمت سرور» گفته میشود.
Client-side با Server-side چه تفاوتی با یکدیگر دارند؟
Client-side وظایفی هستند که توسط سرویس گیرنده انجام میشوند. Server-side وظایفی هستند که توسط سرور انجام میشوند.
به عنوان مثال، اسکریپتهای جاوا اسکریپت سمت کلاینت هستند، زیرا توسط مرورگر اجرا میشوند. اسکریپتهای متداول Gateway Interface سمت سرور هستند، زیرا روی سرور اجرا میشوند.
سرور میتواند یک سرور اپلیکیشن، یک کامپیوتر مستقل، یک سرور پایگاه داده یا یک وب سرور باشد. وقتیکه یک برنامه یا دستگاه منابع و امکانات لازم برای انجام وظایف خود را نداشته باشد، بهعنوان یک سرویس گیرنده عمل میکند. به این ترتیب که درخواست خود را برای سرور موجود در شبکه ارسال کرده و از آن میخواهد که عملیاتی که خود قادر به انجام آن نیست در سرور انجام شود.
کلاینت در شبکه چگونه با سرور ارتباط برقرار میکند؟
کلاینت ها میتوانند یک سیستم کامپیوتر و یا حتی یک برنامه ساده باشند. کلاینت ها از راههای مختلفی با سرویس دهنده یا همان سرور ارتباط برقرار میکنند. روش های ارتباطی به شرح زیر است:
- پروتکل های ارتباطی
- نام
- دامنه
- اینترنت
که ارتباط از طریق اینترنت متداول ترین این روش های ارتباطی می باشد.
مدل کلاینت-سرور (Client-Server) چیست؟
در ابتدای مقاله بیان شد که واژههای کلاینت و سرور با یکدیگر مرتبط هستند و بدون هم معنایی ندارند. بر روی کامپیوتر سرور مرکزی، یک یا چند برنامه کاربردی نصب میشود که منابع سختافزاری را برای کلاینتها به اشتراک میگذارد. بنابراین، این برنامهها را نباید بر روی کلاینتها نصب کرد. این مدل، مدل کلاینت-سرور نامیده میشود.
معروفترین سرویسهایی که از مدل کلاینت-سرور (Client-Server) استفاده میکنند عبارتند از:
- دی ان اس / DNS
- دی اچ سی پی / DHCP
- اشتراک گذاری فایلها / Share Files
- دامنه ها / Domains
و غیره … .
یک مثال ساده برای معنی client در کامپیوتر
واضح ترین مثالی که در این رابطه میتوان زد، سرچ کردن اطلاعات در مرورگر و یا سطح اینترنت است. فرض کنید که شما به دنبال یک مطلب آموزنده هستید. مرورگر خود را باز کرده و سرچ میکنید کلاینت چیست ؟
شما بعنوان یک کلاینت عمل کرده و سرویس گیرنده هستید. درخواست خود را مطرح کرده و دکمه اینترنت یا سرچ را میزنید. درخواست شما در سطح اینترنت از طریق مسیرهایی که برای آن مشخص شده به سمت سرور مربوطه که از قبل در سیستم شما مشخص شده ارسال میشود.
سرور مربوطه درخواست شما را دریافت و در بایگانی خود به دنبال جواب هایی که میتواند به شما بدهد میگردد. آنها را مرتب کرده و به شما نشان میدهد. و شما بعنوان گیرنده اطلاعات را دریافت و استفاده خواهید کرد.
دسته بندی ها و انواع کلاینت
همه سرویسگیرندگان شبیه به هم نیستند و در انواع مختلفی تولید میشوند. برخی از آنها تمامی پردازشها را روی سیستم خود انجام میدهند، در حالی که برخی دیگر پردازش و بار سنگین را به سمت سرور میاندازند.
- Thick Client یا Fat Client
- Thin Client یا لاغر
- Hybrid Client یا ترکیبی
- zero client زیرو کلاینت
Thick Client یا Fat Client
کلاینت چاق چیست؟
به این مدل از دستهبندیها، «کلاینت غنی» یا «کلاینت چاق» و اسمهای دیگر نیز گفته میشود. دلیل نامیده شدن آن به «کلاینت چاق»، پردازش تمامی اطلاعات بر روی سیستم خود است. این مدل سیستمها اعتماد بسیار کمی به سرور دارند و تمامی کارها را خودشان انجام میدهند.
در این مدل، سرویسگیرندهها بار پردازشی بر روی سرور را کم میکنند و بیشتر از منابع خود استفاده میکنند.
یک مثال برای کلاینت های Fat
اگر خاطرتان باشد در اولین سالهایی که استفاده از اینترنت در میان مردم رواج پیدا کرد، برنامه ای به نام یاهو مسنجر برای ایجاد ارتباط با افراد مختلف به وجود آمد. این یک برنامه بود که تمامی بار پردازش برروی سیستم کامپیوتری خود شما بود. در این روش نیازی به اتصال پایدار به سرور نیست و Fat Client میتواند در بسیاری از مواقع به صورت آفلاین کار کند.
در کل به تمامی برنامه های تحت وب که بر روی سیستم شما نصب میشوند میتوان برنامه های کلاینت چاق گفت.
Thin Client یا لاغر
برخلاف مدل قبلی، در مدل کلاینتهای لاغر، بار پردازشی کاملاً بر روی سرور است. در این مدل، کلاینتها فضای ذخیرهسازی یا رم ندارند.
براساس پروتکلهای تعریف شده برای این دستگاهها، زمانی که از این سیستمها به عنوان یک کامپیوتر استفاده میکنید، برای ذخیره برنامهها یا فایلهای شما، این مدلها به سرور رجوع میکنند و اطلاعات مورد نظر را در سرور ذخیره میکنند.
به عنوان مثال، شما نمیتوانید برنامهای را مستقیماً روی این سیستمها نصب کنید. حتماً باید برنامه مورد نظر روی سرور نصب شود و کلاینت شما برنامه را از روی سرور اجرا کند.
در این صورت، تمامی بار فضای ذخیرهسازی و خواندن و نوشتن برنامه بر عهده سرور است.
این مدل مزایای زیادی دارد:
- قیمت راه اندازی یک شرکت را کم میکند و نیازی به خرید سیستم های کامپیوتری گران قیمت نیست
- خرابی کم این دستگاه ها به دلیل بار پردازشی کم
- قابل حمل بودن دستگاه ها
معایب این مدل کلاینتها:
کندی سیستم و متکی بودن به سرور است یعنی اگر سرور شما از دست برود شما هم سیستمی نخواهید داشت.
Hybrid Client یا ترکیبی
ترکیبی از مدلهای کلاینت چاق و لاغر است. در این مدل، مانند کلاینتهای چاق، پردازشها در محیط محلی مدیریت میشوند، اما مانند کلاینتهای لاغر، برای ذخیرهسازی دادهها مرتباً با سرور در تعامل هستند.
در این مدل، مزایای کلاینتهای چاق و لاغر به طور همزمان وجود دارند.
یکی از کاربردهای مدل کلاینت ترکیبی، انجام بازیهای رایانهای است. به عنوان مثال، شرکت بازیسازی معروف Blizzard Entertainment بازی Diablo III را تحت این سرویس ارائه کرده است.
Zero Client زیرو کلاینت
زیرو کلاینت جایگزین کامپیوتر شخصی کاربر میشود و به عنوان رابطی، تصویر سیستم عامل کاربر را از سرور دریافت و به کاربر نمایش میدهد.
این دستگاهها به خودی خود سختافزار قابل توجهی برای اجرای سیستمعاملهای معمولی ندارند و تنها سختافزار آنها برای اجرای فریمور برای ارتباط با سرور استفاده میشود.
بنابراین، زیرو کلاینتها به تنهایی کاربردی ندارند و برای قابل استفاده بودن نیاز به اتصال به یک سرور یا کامپیوتر دارند تا محیط کاری کاربر یا همان سیستمعامل او را در اختیارش قرار دهند.
جمع بندی
کلاینت به سیستمی یا برنامه ای که درخواستی دارد و از سمت سرور به آن جوابی داده میشود میگویند. تمامی ما میتوانیم یک کلاینت یا یک سرور باشیم.
شما می توانید تجربه های خود را در زمینه کلاینت سروری در زیر همین مقاله کامنت بگذارید.