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


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

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

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

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

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

کلاینت سرور:

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

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

ارتباط (communication)

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

از طریق سوکت

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

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

روش تماس از راه دور (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:

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

در نتیجه:

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

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

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

تماس : 34220129 - 017

info@javangostar.ir