اگر به شبکه آشنایی داشته باشید حتما واژه کلاینت را شنیده اید. در دنیای کامپیوتر هر انچه به سمت سرور درخواستی ارسال کند کلاینت است. در این مقاله ما به شما می گوییم کلاینت چیست؟ برای اینکه این مفهوم را بهتر بشناسید و با انواع کلاینت آشنا شوید، ادامه این مطلب را بخوانید.
کلاینت چیست؟
تعریف کلاینت چیست به زبان ساده این است که در هر مدل شبکهای، هر سختافزار یا نرمافزاری که درخواست اتصال به سرور Server را داشته باشد یک Client محسوب میشود. در معماری شبکهای Clinet/ server (که در زبان فارسی مشتری/ سرویسدهنده ترجمه میشود) کلاینتها کامپیوترها، نرمافزارها یا کاربرانی هستند که از سرویسدهنده خدمات دریافت میکنند. معمولاً دستگاههایی که کاربران بهعنوان کلاینت با آنها به یک شبکه و سپس به سرویسدهنده متصل میشوند، کامپیوترهای رومیزی، لپتاپ، نوت بوک، گوشی تلفن همراه یا هر وسیله الکترونیکی دیگری است که قادر به برقراری ارتباط و دریافت خدمات از سرور موجود در شبکه که می تواند سرور اختصاصی ایران باشد یا سرور مجازی.
نکته دیگر این است که گاهی این کلاینت به صورت فیزیکی به شبکه و سرور متصل بوده و از نظر مکان جغرافیایی به آن نزدیک است و گاهی به کمک اینترنت است که یک شبکه کلاینت/ سرور ایجاد میشود.
client server چیست؟
در معماری شبکه Client/server ، کلاینتها با ارائه درخواست داده یا منابعی که خودشان قادر به تامین آن نیستند با سرور ارتباط برقرار میکنند. لزومی ندارد که کلاینت و سرور در یک مکان جغرافیایی باشند. آنها میتوانند در مکانهای مختلف باشند و از طریق یک شبکه مانند اینترنت با هم در تعامل باشند. جالب است بدانید که یک دستگاه در یک شبکه میتواند هم زمان هم کلاینت باشد و از سرور خدمات دریافت کند، هم سرور باشد و به سایر کلاینتهای موجود در شبکه خدمات بدهد.
اینکه در یک شبکه کلاینت و سرور چه وظایفی بر عهده دارند را یکسری قوانین و چارچوب خاص تعیین میکند. به نقش یا وظایفی که در شبکه بر عهده کلاینت باشد Client side یا سمت کلاینت و به وظایفی که بر عهده سرور است Server side یا سمت سرور گفته میشود.
client-side با server-side چه تفاوتی با یکدیگر دارند؟
Client-side به وظایفی گفته میشود که سمت سرویس گیرنده انجام میشود در حالی که server-side وظایفی است که سرور موظف به انجام دادن آنهاست.
بهعنوان مثال اسکریپت های جاوا اسکریپت سمت کلاینت هستند، زیرا توسط مرورگر سمت client اجرا میشوند. این در حالی است که اسکریپت های متداول Gateway Interface سمت سرور هستند، زیرا روی سرور اجرا میشوند.
یک سرور میتواند یک سرور اپلیکیشن، یک کامپیوتر مستقل، یک سرور پایگاه داده یا یک وب سرور باشد. وقتیکه یک برنامه یا دستگاه منابع و امکانات لازم برای انجام وظایف خود را نداشته باشد بهعنوان یک سرویس گیرنده عمل میکند. به این ترتیب که درخواست خود را برای سرور موجود در شبکه ارسال کرده و از آن میخواهد که عملیاتی که خود قادر به انجام آن نیست در سرور انجام شود.
تفاوت Cilent و Server چیست؟
تفاوت اصلی بین کلاینت و سرور در این است که کلاینت ماشین یا برنامه ای است که خدمات را از طریق شبکه درخواست میکند در حالی که سرور ماشین یا برنامه ای است که مطابق درخواست کلاینتها به آنها خدمات ارائه میدهد.
کلاینت و سرور چطور با یکدیگر ارتباط برقرار میکنند؟
کلاینتها و سرورها در بستر یک سری قوانین و مقررات که به آن پروتکلهای شبکه گفته میشود با یکدیگر تعامل برقرار میکنند اگر نمی دانید پروتکل شبکه چیست در مقالات دیگر در این باره توضیح داده ایم. این پروتکل TCP/IP نام دارد. پروتکل زبان و الگوهای مورد استفاده کلاینت و سرور را تعریف میکند. به این صورت که TCP ارتباط بین کلاینت و سرور را از ابتدای درخواست تا پایان ارائه خدمات میان آنها حفظ میکند. کار دیگری که پروتکل TCP میکند این است که نحوه توزیع دادههای برنامه، ارسال و دریافت بستههای دادهای و مدیریت بستههای حذف شده را تعیین میکند.
در صورتی که یک سرور در یک زمان مشخص تعدادی زیادی درخواست از سمت کلاینتها دریافت کند این درخواستها باید در یک سیستم زمان بندی و بر اساس اولویت سازمان دهی شوند. این کار به کمک انواع مختلفی از نرمافزارها انجام میشود که به آنها ابزارهای کنترل دسترسی مشتری میگویند. گاهی اوقات در برخی از انواع مدل سرور یک کاربر یا نیروی انسانی باید نظم و اولویت دریافت خدمات از سرور را برای کلاینتها تعیین کند.
آشنایی با انواع کلاینت در شبکه
۴ نوع کلاینت در شبکه وجود دارد که به ترتیب شامل موارد زیر میشوند:
- Thick Client
- Thin client
- Hybrid Client
- Zero client
Thick Client چیست؟
کلاینتهای قدرتمندی که بیشتر وظایفشان را خودشان انجام میدهند و فقط در برخی از موارد خاص به کمک سرور نیاز دارند را Thick Client میگویند. Thick Client یک ایستگاه کاری مستقل اما مرتبط با شبکه است که خودش تمام اجزا و دادههایی که برای انجام دادن به وظایفش نیاز دارد را در اختیار دارد. Thick Client قادر به اجرای برنامههای نرمافزاری مستقل است و هیچ حجم یا ظرفیتی را از سرور درگیر خود نکرده و فقط در برخی از موارد خیلی خاص به سرور متکی است.
thick client گاهی به نام Fat client نیز شناخته میشود.
Thin client چیست؟
برخلاف Thick Client ها که در واقع فقط عضوی از یک شبکه بودند و خدمات خاصی از سرور دریافت نمیکردند، Thin client ها برای انجام وظایف خود به شدت به سرور متکی هستند. این اتکا تا حدی زیاد است که یک Thin client از یک سرور و منابعی که روی آن وجود دارد مانند یک هارد دیسک شخصی استفاده میکند. در Thin client همه محاسبات از راه دور و در سرور انجام میگیرد.
Hybrid Client چیست؟
Hybrid Client یا مشتریهای هیبریدی به کلاینتهایی گفته میشود که شکل عملکرد آنها ترکیبی از Thick Client و
Thin client است. این نوع از کلاینتها دادهها را به صورت محلی پردازش میکنند و در این خصوص نیازی به خدمات سرور ندارند. اما برای ذخیره اطلاعات به فضایی که سرور در اختیار آنها قرار میدهد احتیاج دارند.
این نوع از کلاینتها هم زمان که میتوانند مانند Thick Client با کمک سرور عملکرد بسیار بالایی داشته باشند، مانند Thin clientها نیز قدرت مدیریت بالا و انعطاف پذیری زیادی دارند.
Zero client چیست؟
لاغرترین و مقرون به صرفهترین انواع کلاینت در شبکه، همین زیرو کلاینتها هستند. Zero client را دستگاهی در نظر بگیرید که هیچ پیکربندی خاصی نیاز ندارد و هیچ چیز روی آنها ذخیره نمیشود. یعنی این نوع از کلاینتها که به آنها کلاینت فوق نازک گفته میشود نه به طور مستقل قادر به انجام محاسبات هستند و نه حافظهای دارند که اطلاعاتی روی آنها ذخیره شود. حتی Zero client ها مصرف برق کمتری نسبت به سایر انواع کلاینتها دارند.
آنچه در این مقاله خواندید پاسخی اجمالی بر این پرسش بود که کلاینت چیست؟ انواع کلاینت کدام است؟ و تفاوت میان سرور و کلاینت در یک شبکه چیست؟ اگر با وجود مطالب فوق همچنان این موضوع برای شما محل ابهام است، میتوانید در بخش نظرات پرسشهای خود را مطرح کنید تا در اسرع وقت به آنها پاسخ داده شود.