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

کلاینت و انواع آن
  • طراحی سایت اصفهان سایت
  • 1401/04/26

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

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

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

در این مقاله میخوانید :

    کلاینت (Client)

    ساده‌ترین تعریف برای واژه کلاینت این است که در هر مدل شبکه‌ای‌، هر سخت‌افزار یا نرم‌افزاری که درخواست اتصال به سرور Server را داشته باشد یک Client محسوب می‌شود. در معماری شبکه‌ای Clinet/ server (که در زبان فارسی مشتری/ سرویس‌دهنده ترجمه می‌شود) کلاینت‌ها کامپیوترها، نرم‌افزارها یا کاربرانی هستند که از سرویس‌دهنده خدمات دریافت می‌کنند.‌

    معمولاً دستگاه‌هایی که کاربران به‌عنوان کلاینت با آن‌ها به یک شبکه و سپس به سرویس‌دهنده متصل می‌شوند، کامپیوترهای رومیزی، لپ‌تاپ، نوت بوک، گوشی تلفن همراه یا هر وسیله الکترونیکی دیگری است که قادر به برقراری ارتباط و دریافت خدمات از سرور موجود در شبکه باشد.نکته دیگر این است که گاهی این کلاینت به صورت فیزیکی به شبکه و سرور متصل بوده و از نظر مکان جغرافیایی به آن نزدیک است و گاهی به کمک اینترنت است که یک شبکه کلاینت/ سرور ایجاد می‌شود.

    مفهوم کلاینت در شبکه مشتری/ سرویس گیرنده چیست؟

    در معماری شبکه Client/server ، کلاینت‌ها با ارائه درخواست داده یا منابعی که خودشان قادر به تامین آن نیستند با سرور ارتباط برقرار می‌کنند. لزومی ندارد که کلاینت و سرور در یک مکان جغرافیایی باشند. آن‌ها می‌توانند در مکان‌های مختلف باشند و از طریق یک شبکه مانند اینترنت با هم در تعامل باشند.

    جالب است بدانید که یک دستگاه در یک شبکه می‌تواند هم زمان هم کلاینت باشد و از سرور خدمات دریافت کند، هم سرور باشد و به سایر کلاینت‌های موجود در شبکه خدمات بدهد.این‌که در یک شبکه کلاینت و سرور چه وظایفی بر عهده دارند را یکسری قوانین و چارچوب خاص تعیین می‌کند. به نقش یا وظایفی که در شبکه بر عهده کلاینت باشد Client side یا سمت کلاینت و به وظایفی که بر عهده سرور است Server side یا سمت سرور گفته می‌شود.

    کلاینت به 3 دسته کلی تقسیم می‌شود:

    • Fat Client که به آن Thick Client یا Rich Client هم می‌گویند

    • Thin Client یا کلاینت لاغر

    • Hybrid Client یا کلاینت ترکیبی

    client-side با server-side چه تفاوتی با یکدیگر دارند؟

    Client-side به وظایفی گفته می‌شود که سمت سرویس گیرنده انجام می‌شود در حالی که server-side وظایفی است که سرور موظف به انجام دادن آن‌هاست.به‌عنوان مثال اسکریپت های جاوا اسکریپت سمت کلاینت هستند، زیرا توسط مرورگر سمت client اجرا می‌شوند. این در حالی است که اسکریپت های متداول Gateway Interface سمت سرور هستند، زیرا روی سرور اجرا می‌شوند.

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

    تفاوت Cilent و Server چیست؟

    تفاوت اصلی بین کلاینت و سرور در این است که کلاینت ماشین یا برنامه ای است که خدمات را از طریق شبکه درخواست می‌کند در حالی که سرور ماشین یا برنامه ای است که مطابق درخواست کلاینت‌ها به آن‌ها خدمات ارائه می‌دهد.

    کلاینت و سرور چطور با یکدیگر ارتباط برقرار می‌کنند؟

    کلاینت‌ها و سرورها در بستر یک سری قوانین و مقررات که به آن پروتکل‌های شبکه گفته می‌شود با یکدیگر تعامل برقرار می‌کنند. این پروتکل TCP/IP نام دارد. پروتکل زبان و الگوهای مورد استفاده کلاینت و سرور را تعریف می‌کند. به این صورت که TCP ارتباط بین کلاینت و سرور را از ابتدای درخواست تا پایان ارائه خدمات میان آن‌ها حفظ می‌کند.

    کار دیگری که پروتکل TCP می‌کند این است که نحوه توزیع داده‌های برنامه، ارسال و دریافت بسته‌های داده‌ای و مدیریت بسته‌های حذف شده را تعیین می‌کند.در صورتی که یک سرور در یک زمان مشخص تعدادی زیادی درخواست از سمت کلاینت‌ها دریافت کند این درخواست‌ها باید در یک سیستم زمان بندی و بر اساس اولویت سازمان دهی شوند.

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

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

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

    • زبان های سمت سرور (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 بهتر عمل می کنند. یعنی این که از نظر شبکه بهتر سازماندهی شده اند.

    آشنایی با انواع کلاینت در شبکه

    ۴ نوع کلاینت در شبکه وجود دارد که به ترتیب شامل موارد زیر می‌شوند:

    • 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 ها مصرف برق کمتری نسبت به سایر انواع کلاینت‌ها دارند.

    و در آخر...

    کلاینت به سیستمی یا برنامه ای که درخواستی دارد و از سمت سرور به آن جوابی داده می‌شود می‌گویند. تمامی ما می‌توانیم یک کلاینت یا یک سرور باشیم.

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


    برای مشاهده مقالات بیشتر در مورد سئو سایت و طراحی سایت به صفحه مقالات مراجعه نمایید.

    • بازدید: 29
    • پیام: 0

    نظر دهید

    ایمیل شما منتشر نخواهد شد *

    1