کلاینت Client
کلاینت یا Client چیست؟
کلاینت (Client) یا سرویس گیرنده به یک نرم افزار یا دستگاه رایانهای گفته میشود که از خدمات ارائه شده توسط یک سرور (Server) استفاده میکند. سرور معمولا روی دستگاهی متمایز از کلاینت قرار میگیرد و کلاینت نیز برای دریافت خدمات مورد نیاز خود از طریق یک شبکه با سرور ارتباط برقرار میکند. این خدمات میتواند شامل اشتراک گذاری دادهها، اشتراک منابع سخت افزاری نظیر پردازنده، فضای ذخیره سازی و … باشد.
معماری مورد استفاده در ارتباط مابین Server و Client، مبتنی بر ساختاری است که از آن با عنوان مدل کلاینت – سرور یاد میشود. در رایجترین نوع سناریوی ارتباطی، ابتدا Client درخواستی را برای Server ارسال میکند و سرور نیز پس از انجام عمل مورد نظر، پاسخی را برای Client ارسال میکند که معمولا در آن نتیجه انجام عمل درخواستی نیز گنجانده شده است.
به عنوان نمونه، مرورگرهای وب کلاینتهایی هستند که برای دریافت محتوای یک صفحه وب درخواست خود را به یک وب سرور ارسال کرده و سپس محتوای دریافت شده را در قالب یک صفحه وب به کاربر نمایش میدهند و یا یک کلاینت ایمیل (نظیر نرم افزار Mozilla Thunderbird) برای دریافت یا ارسال نامههای جدید به سرورهای ایمیل متصل میشود.
ذکر این نکته ضروری است که الزاما تمام اعمال مورد نیاز Client توسط Server انجام نمیشود. به عنوان مثال ممکن است یک Client پس از آنکه پاسخ موردنیاز خود را از Server دریافت نمود اقدام به انجام پردازشها یا اعمالی روی این پاسخ نماید یا حتی نتیجه پردازشهای خود را برای سرور ارسال نماید.
انواع کلاینت
بسته به اینکه چه حجم از کل عملیات توسط Client انجام میشود میتوان آنها را به سه دسته تقسیم نمود:
- کلاینت فربه (Fat Client) یا ضخیم (Thick Client): به کلاینتی گفته میشود که بدون وابستگی شدید و بدون نیاز به ارتباط مداوم با سرور نیز قابلیتهای فراوانی داشته باشد و حجم عمدهی فرایند پردازشی را خودش انجام دهد. برای مثال در یک برنامه کاربردی وب ممکن است پس از لود شدن برنامه، تمام اعمال مورد نیاز توسط Client و بدون آنکه دادهای با سرور رد و بدل کند انجام شود و در انتها نتیجه روی سرور ذخیره و با دیگران به اشتراک گذاشته شود. عدم نیاز به برقراری ارتباط مداوم و کاهش ترافیک مورد نیاز از یک سو و از سوی دیگر به کارگیری سرورهایی با سخت افزارهای سادهتر از مزیتهای این مدل به شمار میرود.
- کلاینت لاغر (Thin Client): کوچکترین و سادهترین نوع Client هاست و بخش عمدهی اعمال مورد نیازش توسط سرور انجام میشود. برخلاف نوع فربه در کلاینتهای لاغر وابستگی شدید به سرور وجود دارد و از لحاظ سخت افزاری باید سرور قدرتمندتری در اختیار داشته باشیم. برای مثال ممکن است یک Thin Client تنها به نمایش نتیجه دریافتی از سرور خود بپردازد و حتی نگهداری نتیجه نیز برعهده سرور باشد.
- کلاینت مرکب (Hybrid Client): ترکیبی میانه از دو حالت پیشین در این نوع مشاهده میشود. چنین کلاینتی ممکن است پردازشها را همانند Fat Client به صورت داخلی انجام دهد و از سوی دیگر برای نگهداری دادهها به سرور وابسته باشد.
پیوندهای پیشنهادی تک دیک