سرور و کلاینت چیست
جواب کوتاه
سرور کامپیوتری است که همیشه روشن است و منتظر میماند تا کسی چیزی بخواهد، مثل یک صفحه یا یک نامه، و جوابش را بدهد. کلاینت دستگاه یا برنامهای است که درخواست میدهد، مثل مرورگر گوشی شما؛ این دو نقشاند، و یک دستگاه ممکن است در جایی کلاینت باشد و در جای دیگر سرور.
کلمههایی که در این درس میبینید
- سرور (سرویسدهنده)
کامپیوتری که همیشه روشن است و منتظر میماند تا کسی چیزی بخواهد، و جوابش را بدهد.
- کلاینت (سرویسگیرنده)
دستگاه یا برنامهای که درخواست میدهد؛ مثلا مرورگر گوشی شما.
- درخواست
پیامی که کلاینت میفرستد: «این صفحه را بده»، «نامهی تازه دارم؟».
- پاسخ
چیزی که سرور برمیگرداند: صفحه، نامه، فایل، یا «پیدا نشد».
- سرویس (خدمت)
کاری که سرور برای دیگران انجام میدهد؛ دادن صفحه، نگه داشتن ایمیل، جواب دادن به DNS.
- هاست
جایی روی یک سرور که سایت شما در آن است؛ معمولا سهمی از یک سرور که آن را اجاره میکنید.
- دیتاسنتر
ساختمانی پر از سرور، با برق و اینترنت و خنککنندهی پشتیبان.
مثال رستوران
به رستوران میروید و غذا سفارش میدهید. سفارش به آشپزخانه میرود، آشپز غذا را آماده میکند و غذا سر میز شما برمیگردد. شما چیزی خواستید؛ آشپزخانه جواب داد.
در شبکه هم همین است. کلاینت مثل مشتری است: چیزی میخواهد. سرور مثل آشپزخانه است: آماده است، منتظر میماند و به هر سفارش جواب میدهد. نامهایشان هم از همین آمده: server یعنی کسی که خدمت میکند و client یعنی کسی که خدمت میگیرد. در کتابهای فارسی به آنها سرویسدهنده و سرویسگیرنده هم میگویند.
یک آشپزخانه همزمان برای چند میز غذا میپزد. یک سرور هم همزمان به درخواستهای خیلیها جواب میدهد. وقتی میگویند «سرور سایت شلوغ است»، یعنی آشپزخانه بیش از توانش سفارش گرفته است.
سفر یک درخواست
هر کاری که روی اینترنت میکنید، از چهار قدم ساخته شده است: کلاینت، درخواست، سرور، پاسخ. یکی از این سه کار را انتخاب کنید و قدم به قدم دنبالش کنید:
دیدید که برای باز کردن یک سایت، پیش از سرور وب، سرور DNS هم کار کرده است. درخواستها از راه اینترنت میروند (درس اینترنت چیست) و هر سرور با زبان خودش جواب میدهد. به این زبانها پروتکل میگویند (درس پروتکل چیست).
سرور چه شکلی است
سرور هم یک کامپیوتر است: پردازنده دارد، حافظه دارد، دیسک دارد و سیستمعامل. میشود حتی یک لپتاپ معمولی را سرور کرد؛ کافی است برنامهای رویش باشد که منتظر درخواست بماند و جواب بدهد. فرق سرورهای واقعی در جا و کارشان است:
کلاینت و سرور نقشاند، نه دستگاه
کلاینت و سرور نام دو نقش در یک گفتوگوست، نه نام دو نوع دستگاه. همان برنامه ممکن است در یک اتصال کلاینت باشد و در اتصال دیگر سرور. استاندارد HTTP هم همین را میگوید. مثال: از یک فروشگاه اینترنتی خرید میکنید و پرداخت را میزنید.
- گوشی شما
- سرور سایت
- سرور پرداخت
انواع سرور
سرورها بر اساس کاری که میکنند نام میگیرند. یک کامپیوتر ممکن است چند کار را با هم انجام دهد؛ مثلا هم سرور وب باشد و هم سرور پایگاه داده.
- سرور وب
- صفحههای سایت را میدهد. با زبان HTTP کار میکند (درس «HTTP چیست» در همین مسیر).
- سرور ایمیل
- نامهها را میگیرد، نگه میدارد و میفرستد؛ حتی وقتی گوشی شما خاموش است.
- سرور DNS
- نام سایت را به نشانی IP تبدیل میکند. درس DNS چیست
- سرور فایل
- فایلها را برای چند نفر یکجا نگه میدارد؛ مثل پوشهی مشترک یک دفتر.
- سرور پایگاه داده
- دادهها را مرتب نگه میدارد؛ مثلا فهرست کاربران و سفارشهای یک فروشگاه.
- سرور بازی
- بازیکنان آنلاین را به هم وصل میکند و میگوید در بازی چه میگذرد.
سرور سایت شما کجاست: هاست و سرور مجازی
هر سایتی روی یک سرور است. ولی همهی سایتها یک سرور کامل برای خودشان ندارند. سه حالت رایج، با مثال خانه:
- هاست اشتراکی: مثل یک اتاق در خانهای که چند نفر در آن زندگی میکنند. یک سرور، چند سایت؛ ارزان، ولی اگر همسایه شلوغ کند، شما هم حس میکنید.
- سرور مجازی: مثل یک آپارتمان در یک ساختمان. یک سرور بزرگ به چند کامپیوتر مجازی تقسیم شده و هر کدام سهم ثابت خودش را دارد.
- سرور اختصاصی: مثل یک خانهی کامل. کل سرور مال شماست.
کدام برای سایت شما مناسب است و چطور انتخابش کنید، در مسیر راهاندازی سایت کامل آمده است.
شبکهی نظیر به نظیر
همهی شبکهها کلاینت و سرور ندارند. در شبکهی نظیر به نظیر (peer to peer، یا P2P) هر دستگاه هم میدهد و هم میگیرد. مثلا وقتی چند نفر یک فایل بزرگ را با هم پخش میکنند، هر کس تکههایی از فایل را دارد و آن را به بقیه میدهد و تکههای دیگر را از آنها میگیرد. سرور مرکزیای نیست که همه از او بخواهند.
خوبیهای نظیر به نظیر
- با زیاد شدن آدمها، توان کل شبکه هم بیشتر میشود؛ چون هر تازهوارد چیزی هم میدهد.
- اگر یک دستگاه برود، بقیه کار را ادامه میدهند.
سختیهایش
- کسی مسئول کل کار نیست؛ اداره و پشتیبانی سختتر است.
- اگر کسی که تکهای را دارد خاموش باشد، آن تکه دیر میرسد.
بسیاری از خدمتها ترکیبیاند: بخشی نظیر به نظیر و بخشی کلاینت و سرور. مثلا ثبتنام و ورود از یک سرور مرکزی است و خود فایلها میان کاربران پخش میشود.
اشتباههای رایج
- «سرور یک دستگاه جادویی است.»
- سرور کامپیوتر است، با همان قطعهها. فرقش این است که همیشه روشن است و کارش جواب دادن به دیگران است.
- «سرور یعنی سایت.»
- سایت روی سرور است. یک سرور ممکن است صدها سایت داشته باشد، و یک سایت بزرگ ممکن است روی صدها سرور باشد.
- «کلاینت همیشه گوشی یا کامپیوتر ماست.»
- کلاینت نقش است. سروری که از سرور دیگری چیزی میخواهد، در همان لحظه کلاینت است.
- «سرور قطع است، پس اینترنت قطع است.»
- اگر یک سایت باز نشود ولی سایتهای دیگر باز شوند، اینترنت شما وصل است؛ فقط سرور همان سایت جواب نمیدهد.
پرسشهای پرتکرار
سرور چیست، در یک جمله؟
کامپیوتری که همیشه روشن است و به درخواستهای دیگران جواب میدهد.
سرویسدهنده و سرویسگیرنده را تعریف کنید.
سرویسدهنده (سرور) خدمتی را برای دیگران فراهم میکند و سرویسگیرنده (کلاینت) آن خدمت را میخواهد و میگیرد.
مدل کلاینت و سرور یعنی چه؟
یعنی کارها میان دو نقش تقسیم شده: کلاینتها درخواست میدهند و یک یا چند سرور مرکزی جواب میدهند. بیشتر وب همینطور کار میکند.
میشود کامپیوتر خانه را سرور کرد؟
بله؛ هر کامپیوتری که برنامهی سرور رویش باشد و به شبکه وصل باشد، سرور است. ولی برای سایتی که همیشه باید باز باشد، سرور دیتاسنتر با برق و اینترنت پشتیبان مطمئنتر است.
تفاوت هاست و سرور چیست؟
سرور خود کامپیوتر است؛ هاست معمولا سهمی از یک سرور است که سایت شما در آن قرار میگیرد.
مزایا و معایب شبکهی نظیر به نظیر چیست؟
خوبیاش این است که با آدمهای بیشتر قویتر میشود و به یک دستگاه وابسته نیست؛ سختیاش این است که مسئول مرکزی ندارد و ادارهاش سختتر است.
اتاق سرور چیست؟
اتاقی در یک ساختمان اداری که سرورهای همان شرکت در آن است؛ نسخهی کوچک یک دیتاسنتر.
جمعبندی. آنچه از این درس با خودتان میبرید.
- کلاینت درخواست میدهد و سرور جواب؛ مثل مشتری و آشپزخانهی رستوران.
- سرور هم یک کامپیوتر است، ولی همیشه روشن، معمولا بی صفحهنمایش، در دیتاسنتر، و برای خیلیها کار میکند.
- کلاینت و سرور نقشاند، نه دستگاه: سرور یک سایت وقتی از سرور پرداخت چیزی میپرسد، خودش کلاینت است.
- سرورها بر اساس کارشان نام دارند: وب، ایمیل، DNS، فایل، پایگاه داده، بازی.
- هاست سهمی از یک سرور است؛ سرور مجازی یک کامپیوتر مجازی روی سروری بزرگتر؛ سرور اختصاصی کل یک سرور.
- در شبکهی نظیر به نظیر هر دستگاه هم میدهد و هم میگیرد، و سرور مرکزی لازم نیست.
خودتان را بسنجید ۸ پرسش، اختیاری؛ نتیجه فقط برای خود شماست.