کلاینت چیست و انواع آن کدامند؟
کلاینت که در شبکههای خانگی و شرکتی استفاده میشود، به هر سختافزار یا نرمافزار رایانهای گفته میشود که درخواست دسترسی به سرویس ارائه شده توسط سرور را دارد. کلاینت ها معمولا به عنوان برنامه یا کاربر درخواست کننده در معماری کلاینت-سرور دیده می شوند. سخت افزار مورد استفاده در کلاینت معمولا شامل کامپیوترهای رومیزی، لپتاپ ها و یا تلفنهای هوشمند هستند.
در مدل کلاینت-سرور در یک شبکه کامپیوتری، کلاینت سخت افزار یا نرم افزاری است که یک سرویس یا اطلاعات را از یک سرور درخواست می کند. سرور می تواند در محل یا خارج از محل کلاینت قرار داشته باشد.
چگونه یک کلاینت با یک سرور تعامل برقرار می کند؟
در معماری کلاینت-سرور، کلاینت با درخواست داده هایی که خودش قادر نیست آن را تهیه کند، با سرورها تعامل می کند. کلاینت ها و سرورها می توانند در مناطق مختلف قرار گرفته و از طریق یک شبکه به یکدیگر متصل شوند. آنها همچنین می توانند روی یک دستگاه قرار داشته باشند و با رشته فرآیندهای سیستم عامل به یکدیگر متصل شوند.
یک چارچوب کاربردی توزیع شده وظایف را بین سرورها و کلاینت ها تقسیم می کند. وظایفی که میتواند توسط کلاینت انجام شود معمولا سمت کلاینت نامیده میشوند، در حالی که وظایفی که توسط سرور انجام میشوند سمت سرور نامیده میشوند.
سرورها معمولا منابعی مانند فایل ها، داده ها، دسترسی به اینترنت، حافظه خارجی یا قدرت پردازش را فراهم می کنند. سرور یک یا چند برنامه را مسئول توزیع آن خدمات به کلاینت های درخواست کننده قرار می دهد.
کلاینت ها و سرورها در یک الگوی پیام درخواست-پاسخ تعریف شده توسط یک پروتکل ارتباطی، مانند پروتکل کنترل انتقال اینترنتی (TCP/IP) با هم ارتباط برقرار می کنند. پروتکل زبان و الگوهای گفتگوی مورد استفاده را تعریف می کند. به عنوان مثال، TCP یک ارتباط بین کلاینت و سرور را تا پایان تبادل پیام حفظ می کند. TCP همچنین نحوه توزیع داده های برنامه، انتقال و دریافت بسته ها و مدیریت بسته های حذف شده را تعیین می کند. اگر یک سرور تعداد زیادی درخواست را به طور همزمان دریافت کند، درخواست ها در یک سیستم زمان بندی بر اساس اولویت، سازماندهی می شوند. با ابزارهای کنترل اعطای دسترسی به کلاینت ها، کاربر می تواند دسترسی کلاینت ها به سرورها را مدیریت کند.
سمت مشتری در مقابل سمت سرور
سمت سرویس گیرنده یک عمل یا عملیات است که در سمت کاربر رخ می دهد، در حالی که سمت سرور به اعمال یا عملیاتی اشاره دارد که روی سرور انجام می شود.
به عنوان مثال، اسکریپت های جاوا اسکریپت سمت کلاینت هستند، زیرا توسط یک مرورگر، که کلاینت است، اجرا می شوند. اسکریپت های متداول Gateway Interface (CGI) سمت سرور هستند، زیرا روی سرور اجرا می شوند.
برای مثال یک سرور می تواند یک اپلیکیشن سرور، یک کامپیوتر جداگانه، یک سرور پایگاه داده یا یک وب سرور باشد. هنگامی که یک برنامه یا دستگاه، منابع لازم برای تکمیل عملیات را نداشته باشد، به عنوان یک سرویس گیرنده، عمل می کند و از یک سرور درخواست می کند و این عملیات در سمت سرور انجام می شود.
انواع کلاینت ها
در ادامه چهار روش برای تعریف انواع مختلف کلاینت ها بررسی می شود:
- تیک کلاینت (Thick Client). اکثر منابع و پردازش داده ها را فراهم می کنند. این کلاینت ها فقط به یک سرور متکی هستند. در عوض، آنها اکثر عملیات را در سمت مشتری انجام می دهند و وابستگی اندکی به سرور دارند.
- تین کلاینت (Thin Client). این کلاینت ها، کلاینت های سبک وزنی برای انجام کارها و نگهداری داده ها هستند و برای بیشتر پردازش داده ها به شدت متکی به سرور هستند.
- کلاینت هیبریدی (Hybrid Client). این کلاینت ها، ترکیبی از تین کلاینت ها و تیک کلاینت ها هستند. این نوع کلاینت ها، داده ها را به صورت محلی پردازش می کند اما برای ذخیره داده های پایدار به سرور متکی است.
- زیرو کلاینت (Zero Client). این کلاینت ها حتی از تین کلاینت ها هم سبک وزن تر هستند. این دستگاه های سرویس گیرنده، نیازی به پیکربندی ندارند و چیزی روی آنها ذخیره نمی شود. آنها همچنین از برق کمتری نسبت به تیک کلاینت ها یا تین کلاینت ها، استفاده می کنند.
نمونه هایی از کلاینت-سرور
نمونه هایی از کلاینت-سرور شامل وب سرورها، فایل سرورها و ایمیل سرورها است. یک مرورگر وب اساسا کلاینت است که صفحاتی را از سرورهای سراسر وب درخواست می کند. مرورگر کلاینت است که درخواست ها را ارسال می کند در حالی که یک سرور در مکان دیگری فایل زبان نشانه گذاری فرامتن (HTML) را برمی گرداند. رایانه ای که درخواست را رسیدگی می کند و فایل HTML را پس می فرستد یک سرور است.
فایل سرورها کامپیوترهایی هستند که وظیفه ذخیره و مدیریت فایل های داده را بر عهده دارند و به کاربران امکان می دهند بدون نیاز به انتقال فیزیکی فایل ها، اطلاعات را از طریق شبکه به اشتراک بگذارند. نمونه هایی از فایل سرورها شامل یک دستگاه ذخیره سازی متصل به شبکه یا یک رایانه جداگانه است که می تواند میزبان فایل های به اشتراک گذاشته شده باشد.
پروتکل انتقال فایل یک پروتکل شبکه کلاینت-سرور است که برای انتقال فایل ها بین رایانه ها از طریق اتصالات TCP/IP استفاده می شود. پروتکل کلاینت-سرور بر دو کانال ارتباطی بین مشتری و سرور متکی است. یکی از کانال ها، کانال فرمان است و برای کنترل مکالمه بین سرور و کلاینت استفاده می شود و کانال دیگر، کانال داده است برای انتقال محتوای فایل ها.