کلاینت چیست و چه انواعی دارد؟

پخش آناهیتاپخش آناهیتا
1,824 بازدید

تعریف کامل کلاینت

فرق عمده و اصلی کلاینت (Client) با سرور در چیست؟

به معنی مشتری است. ولی مشتری یک مفهوم کلی است و برای موقعیت های مختلفی استفاده می‌شود. اگر بخواهیم بدانیم که در دنیای شبکه و علوم رایانه کلاینت چیست باید بگوییم که کلاینت به کامپیوتر یا کاربری می گویند که درخواستی دارد و این درخواست توسط سرور پردازش می‌شود. کلاینت ها کلا دارای سه دسته بندی مختلف هستند. اگر می خواهید بدانید که کلاینت چیست و چه کاربردی دارد، تا انتهای این مقاله با ما باشید.

 

کلاینت (Client) چیست ؟

کلاینت یا Client در لغت به معنی سرویس گیرنده میباشد. کلاینت ها تشکیل شده از تجهیزات، کامپیوترها و یا نرم افزارهایی هستند که به سرور متصل شده از آن خدمات دریافت می کنند.

مثلا در یک مجموعه برای هر یک از اپراتورها، رایانه ای در نظر گرفته شده که به عنوان کلاینت که به یک رایانه مرکزی (سرور) متصل است.

تجهیزات استفاده شده در ویدئو کنفرانس برنامه های پست الکترونیکی تحت شبکه و یا برنامه پیام رسان هایی که در دستان شماست، همگی جزئی از سرویس گیرنده هایی هستند که بطور روزمره از آنها استفاده می کنید.

 

وظیفه کلاینت (Client) چیست ؟

با توجه به هدف اصلی شان، به دو نمونه از مهمترین وظایف کلاینت( سرویس گیرنده ها) اشاره می کنیم.

1– کلاینت ها بسته به کار مور نیاز خود، درخواست های خود را بواسطه برنامه های کاربردی مختلف به سرور ارسال میکنند. در واقع وظیفه اصلی کلاینت ها این ست که کارهای مورد نیاز خود را از سرور درخواست کنند. به زبانی ساده تر، کلاینت همان مشتری میباشد که از سرور، کار (task) را تقاضا میکند.

2– وظیفه دیگر کلاینت ها، ارسال و اشتراک گذاری اطلاعات در شبکه می باشد. بعنوان مثال در یک سرور چت، کلاینت ها (کاربران) اطلاعات خود را به سرویس دهنده ارسال می کنند، سپس سرور، اطلاعات را به کلاینت کاربر گیرنده ارسال می کند.

 

انواع کلاینت:

همان طور که در اول مقاله کلاینت چیست گفتیم کلاینت ها دارای سه نوع دسته بندی هستند:

  • Fat Clientیا Thick Client یا Rich Client
  • Thin Clientیا همان کلاینت لاغر
  • Hybrid Clientیا همان کلاینت ترکیبی

 

کلاینت Fat Client چیست ؟

FatClient یا کلاینت چاق جدای از سرور کار می‌کند. به خاطر همین کار مدیریت اغلب پردازش‌ ها توسط خودش انجام می شود. فت کلاینت‌ ها از RAM و CPU کامپیوتر لوکال بهره می گیرند، تا فشار زیادی روی سرور نیاورند. اما گاهی هم برای انجام برخی از وظایف مانند تغییر ایجاد کردن، ذخیره کردن فایل یا چیزهای مشابه سراغ ز سرور کمک می گیرند. شبکه Fat Client به این صورت هست که اگر شما از نسخه وب یک نرم افزار استفاده کنید بار پردازش روی دستگاه شما تقسیم می شود. G-Talk، Microsoft Outlook، یاهو مسنجر، سایت‌ های بزرگ تجاری همگی جزو Fat Clientبه حساب می آیند.

مزیت های کلاینت Fat چیست ؟

استفاده از منابع کمتر

امکان استفاده به صورت آفلاین

بازدهی بیش تر به صورت چند رسانه‌ای

انعطاف پذیری بالا

وجود زیر ساخت‌ های لازم

بالا بردن ظرفیت سرور

نیاز به تعداد سرور کم تر

کلاینت لاغر چیست ؟

 

کلاینت لاغر یا Thin Client یک نوع کلاینت است که بر عکس Fat Client به سرور وابسته است. اگر بخواهیم بدانیم که کلاینت لاغر یا Thin Client چیست، باید بگوییم که یک اپلیکیشن تحت وبی است که به وسیله یک مرورگر در شبکه اینترنت می توان به آن دسترسی داشت. وقتی از این نوع کلاینت استفاده می کنیم، هیچ نرم افزار خاصی روی کامپیوتر لوکال نصب نخواهد شد و همه پردازش‌ ها توسط سرور انجام خواهد شد. بنابراین در کلاینت لاغر همه فشار اصلی به سرور وارد می شود نه سیستم کاربر.

مزیت های کلاینت لاغر چیست ؟

قابلیت حمل یا Portable

بدون احتیاج به کامپیوتر پیشرفته و قوی

وزن زیاد ندارد

کار با سرور

مشغول نکردن منابع سمت کلاینت

 

کلاینت ترکیبی یا Hybrid Client چیست ؟

برای دانستن اینکه کلاینت ترکیبی چیست اول باید بدانیم که این نوع کلاینت ترکیبی از دو کلاینت قبلی است. درکلاینت های ترکیبی مثل Fat Clientپردازش‌ ها در محیط لوکال انجام می شوند و مانند Thin Client به دلیل ذخیر ه‌سازی داده‌ ها مرتب با سرور در ارتباط است. یکی از کاربردهای Hybrid Client برای انجام بازی‌ های کامپیوتری است. بازی Diablo III تحت کلاینت ترکیبی ارایه شده است.

 

مزایای کلاینت ترکیبی چیست ؟

اگر بخواهیم به بررسی مزایای کلاینت ترکیبی بپردازیم باید بدانیم که این نوع از کلاینت مزایای هر دو کلاینت را کنار هم دارد.

بازدهی بالا

پشتیبانی مناسب از چندرسانه‌ای ها درست همانند Fat Client

انعطاف و مدیریت بالا همانند Thin Client

 

تفاوت کلاینت با سرور چیست ؟

در ابتدا تفاوت خاصی بین سرور و كلاينت وجود نداشت اما بعد از ظهور شبكه در علم كامپيوتر مفهوم کلاینت هم وارد دنياي كامپيوتر شد و هر روز اهمیتش بیش تر شد. البته تفاوت کلاینت با سرور از جنبه هاي مختلفي قابل بررسي است. ما این جا می خواهیم که تفاوت دو جنبه اساسي و كاربردي کلاینت و سرور را ببینیم که چیست.

 

دو جنبه اساسی تفاوت کلاینت و سرور چیست ؟

سرور ها و کلاینت ها از دو نظر دارای تفاوت اساسی هستند:

از نظر برنامه نویسی

از نظر شبكه

 

تفاوت کلاینت و سرور از نظر برنامه نویسی چیست ؟

 

سرور و كلاينت را از لحاظ برنامه نويسي شامل دو دسته می شوند:

زبان های سمت سرور (server side)

زبان برنامه نویسی سمت کاربر یا کلاینت (client side)

 

زبان های سمت server چیست ؟

زمانی که ما قصد داریم که یک صفحه وب را بالا بیاوریم، اول در خواست ما به سرور میزبان آن سایت ارسال می شود. در این حین عملیات و برنامه هایی که برای تهیه محتوای مناسب لازم است اجرا می شود. مثلا ارتباط با پایگاه داده در سرور به وسیله زبان های سمت serverانجام خواهد شد.

 

زبان سمت کلاینت چیست ؟

PHP , ASP , JSP همگی جزو زبان های سمت مشتری هستند. پس از انجام شدن عملیات در سمت سرور سایت، خروجی برنامه به صورت کد های سمت کاربر، به کاربر ارسال می شود. کدهای HTML , CSS , JavaScript همگی جزو زبان های سمت کاربر هستند.

 

تفاوت کلاینت و سرور از نظر شبکه چیست ؟

اگر از نظر فیزیکی این دو تفاوت اساسی ندارند ولی از نظر logically تفاوت خیلی زیادی با هم دارند. کلا دو نوع شبکه برای کلاینت ها وجود دارد:

Peer to Peer Network

Client/Server Network

Peer to Peer Network

در این نوع شبکه اصلا هیچ نوعی از centralized authority بین کامپیوتر های شبکه وجود ندارد. در اصل هیچ نوع مرکزیتی بین این شبکه وجود ندارد. اگر یک کاربر بخواهد به منابع باقی کامپیوتر ها دسترسی داشته باشد، سیستم امنیتی کامپیوتر مقصد درخواست اجازه دسترسی به منابع را بررسی می کند. هر سیستم در این نوع شبکه قادر است هم در نقش client باشد هم در نقش سرور.

 

Client/Server Network

بر عکس شبکه peer to peer این نوع شبکه از یک سیستم عامل استفاده می کند. client ها از سرور اطلاعات را در خواست می کنند و سرور با پاسخ دادن به آن ها، اطلاعات را با کلاینت ها به اشتراک می گذارد و به منابع دسترسی می دهد. شبکه های client/serverنسبت به peer to peer بهتر عمل می کنند. یعنی این که از نظر شبکه بهتر سازماندهی شده اند.

برتری شبکه کلاینت / سرور نسبت به شبکه Peer to Peer چیست ؟

دسترسی به فایل ها و منایع بسیار آسان تر است

ذخیره اطلاعات روی سرور

امنیت بسیار بالا

ذخیره همه username و passwords ها روی database یکسان

کاربران نمی توانند از سرور بعنوان workstation استفاده کنند

 

در مطلب پیشین به اینکه کلاینت چیستو برسی انواع کلاینت پرداختیم، طی این مطلب قصد داریم به برسی تفاوت کلاینت با سروربپردازیم. پس لطفا تا انتهای این مطلب ما را یاری فرمایید.

 

کلاینت سرور

اندکی از کلاینت سرور Client/Server:

 

عموما کلاینت به کامپیوتری گفته می شود که تقاضایی را از یک سرور دارد. کلاینت در لغت نامه به معنای مشتری می باشد و مشتری کسی است که تقاضای خدماتی را از سوی فروشنده ای دارد. یک سرور می تواند در آن واحد به چندین کلاینت یا بازدید کننده خدمات رسانی کند، اين در حالي است كه در فناوری اطلاعات سرور برنامه ی کامپیوتری است که خدمات گوناگونی را به برنامه های کامپیوتری دیگر و یا کاربرانش (در همان سیستم یا سیستم دیگر) ارائه می دهد . در تعریف عملی تر، سرور یک کامپیوتر متصل به شبکه است که بر خلاف سایر کامپیوتر ها برای چند منظور متفاوت ساخته شده است.

 

مدل کلاینت سرور چیست:

در این نوع مدل کلاینت سرور دو فرایند کاربردی از راه دور وجود دارد که می توان از دو طریق متفاوت با همدیگر ارتباط داشته باشند و اولین مدل کلاینت سرور همتا به همتا میباشد که عملکرد این مدل اینگونه میباشد که فرایندهای راه دور در سطح مساوی و یکسان اجرا خواهند شد و اطلاعات را با بعضی از منابع به اشتراک خواهند گذاشت.

کلاینت سرور:

یک فرآیند راه دور به عنوان مشتری عمل می کند و درخواست برخی از منابع را از فرایند دیگر به عنوان سرور می کند. در مدل کلاینت سرور، هر فرایند می تواند به عنوان سرور و یا کلاینت عمل کند. نوع، اندازه دستگاه و یا قدرت محاسباتی، آن را تبدیل به سرور نمی سازد بلکه توانایی خدمت به درخواست ها باعث انتخاب یک ماشین سرور است.

یک سیستم می تواند به عنوان سرور و یا کلاینت به طور همزمان عمل کند. از این رو، یک فرایند به عنوان سرور و دیگری به عنوان یک مشتری عمل می کنند. همچنین ممکن است هر دو فرآیندهای کلاینت و سرور بر روی یک دستگاه قرار بگیرند.

ارتباط (communication)

دو فرایند در مدل کلاینت سرور می توانید به روش های مختلف تعامل داشته باشند :

از طریق سوکت

فراخوانی از راه دور (RPC)

روش سوکت (Sockets)

 

در این روش، فرآیندی به عنوان سرور، با استفاده از یک پورت شناخته شده (یا شناخته شده توسط مشتری) یک سوکت باز می کند و منتظر می ماند تا برخی از درخواست مشتری را دریافت کند. فرایند دوم به عنوان یک مشتری نیز یک سوکت باز می کند اما به جای انتظار برای درخواست های ورودی، فرآیندهای مشتری. ابتدا درخواست را انجام می دهند.

 

هنگامی که درخواست به سرور رسید، آن به آن درخواست رسیدگی می شود. این امر می تواند به اشتراک گذاری اطلاعات و یا درخواست منابع باشد.

 

روش تماس از راه دور (Remote Procedure Calls)

این روش یک مکانیسم است که در آن یک فرآیند با فرایند دیگری به وسیله روش تماس تعامل برقرار می کند. یک فرایند (مشتری) بر روی میزبان راه دور یک تماس ایجاد می کند. به فرایند در میزبان راه دور، سرور گفته می شود. هر دو فرایند به یکدیگر ارتباط دارند. این ارتباط به روش زیر اتفاق می افتد:

فرآیند مشتری مکانیزم ارتباط با مشتری را صدا می زند. این کار تمام پارامترهای مربوط به برنامه های محلی را عبور می دهد.

همه پارامترها بسته بندی شده (بصورت مرتب شده) و یک تماس سیستمی به منظور ارسال آنها به طرف دیگر شبکه برقرار می شود.

هسته، داده ها را بر روی شبکه ارسال و انتهای دیگر آن را دریافت می کند.

میزبان راه دور اطلاعات را به سرور عبور می دهد.

پارامترها به روال فرستاده شده و سپس اجرا می شود.

نتیجه به همان شیوه به مشتری ارسال می شود.

تفاوت server و Client از نظر برنامه نویسی:

 

سرور و كلاينت را از نظر برنامه نويسي مي توان به دو دسته زبان های سمت سرور (server side) و سمت کاربر(client side) تقسيم نمود، كه داراي تفاوت هايي مي باشند . در ذيل يه شرح اين تفاوت پرداخته شده است.

زمانی که ما میخواهیم یک صفحه وب را مشاهده کنیم، ابتدا در خواست ما به سرور میزبان آن سایت ارسال می شود. در این هنگام عملیات و برنامه هایی که برای تهیه محتوای مناسب لازم است انجام شود، مثلا ارتباط با پایگاه داده در سرور توسط زبان های سمت server انجام می شود. PHP , ASP , JSP از جمله این زبان ها هستند. پس از اینکه این عملیات در سمت سرور سایت انجام شود، خروجی برنامه به صورت کدهای سمت کاربر، به کاربر فرستاده می شود. کدهایی مثل HTML , CSS , JavaScript . این کدها برنامه های سمت کاربر هستند. بدین معنی که پردازش این اطلاعات دیگر به عهده ی سرور نیست و مرورگر کاربر (مثلا Mozilla Firefox) باید این کدها را پردازش کرده و نتیجه را به صورت یک صفحه وب به کاربر نمایش دهد.

 

تفاوت server و Client از نظر شبكه:

تفاوت بین این دو شبکه بسیار واضح و بزرگ است اگرچه تفاوت ها را از نظر فیزیکی نمی توانیم ببینیم اما می توانیم از نظر logically آنها را بدرستی از هم تشخیص دهیم.

Peer to Peer Network:

در این نوع شبکه هیچگونه centralized authority بین کامپیوتر های شبکه نمی توانیم ببینیم در واقع هیچ نوع مرکزیت بین آنها وجود ندارد. اگر یک کاربر بخواهد به منابع کامپیوتر دیگر دسترسی پیدا کند سیستم امنیتی کامپیوتر مقصد (کامپیوتری که منابع درخواست شده را در خودش دارد) بررسی می کند که آیا کامپیوتر درخواست دهنده اجازه دسترسی به منابع را دارد یا خیر. هر کامپیوتر در این نوع شبکه می تواند هم client باشد هم سرور. هر کاربر می بایست local back upرا خودش بگیرد، ملاحظات امنیتی بسیار بسیار اندک است و کامپیوتر های محدودی هم در بر می گیرد.

Client/Server Network:در نتیجه:Client/Server Network:

بر خلاف شبکه peer to peer این نوع شبکه سیستم عاملی را استفاده می کند که برای این کار تخصص یافته است تا اطلاعات شبکه را از یک منطقه مرکزی یا centralized point مدیریت کند که این منطقه مرکزی همان سرور است . client ها از سرور تقاضای اطلاعات می کنند و سرور است که با دادن اطلاعات یا دسترسی به منابع به آنها پاسخ می دهد. شبکه های client/server نسبت به peer to peer مزایای مشخصی دارند و در یک کلام شبکه ای بسیار بسیار سازماندهی تر شده می باشند . بسیار آسان تر خواهد بود که فایل ها و منابع را پیدا کنیم چون آنها بر روی سرور ذخیره شده اند و از امنیت بسیار بالایی برخوردارند همه username و passwordsها در یک databaseیکسان که همان سرور است ذخیره می شوند و کاربران نمی توانند از سرور بعنوان workstationاستفاده کنند بنابراین در نهایت واضح است که شبکه client /server کارایی بسیار بهتری دارد.

 

در نتیجه:

واژه Client Server دارای معانی به مراتب بیشتری نسبت به جداسازی یک کامپیوتر سرویس گیرنده و سرویس دهنده از یکدیگر است. واژه فوق علاوه بر سخت افزار و شبكه به سرعت در دنیای نرم افزار نیز مطرح و دارای جایگاه ویژه ای در این زمینه شده است. بنابراين مي توانيم بگويم یک روتین ( سرویس ) می تواند ارائه دهنده خدمات خاصی به سایر سرویس ها باشد. در چنین وضعیتی سرویس ارائه دهنده خدمات را Server و سرویس استفاده کننده از یک خدمات را Client می نامند.

دسته بندی اخبار کامپیوتر وبلاگ
اشتراک گذاری

نوشته های مرتبط

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سبد خرید

هیچ محصولی در سبد خرید نیست.

ورود به سایت