سرور در سادهترین تعریف، یک کامپیوتر یا سیستم نرمافزاری است که منابع، دادهها، سرویسها یا برنامهها را در اختیار سایر کامپیوترها قرار میدهد. این کامپیوترهای دیگر که از خدمات سرور استفاده میکنند، کلاینت (Client) نام دارند.
هر وقت یک دستگاه منابعی مثل فایل، اینترنت یا نرمافزار را با دستگاههای دیگر به اشتراک بگذارد، میتوان گفت آن دستگاه نقش سرور را ایفا میکند.
برای درک بهتر به این مثال توجه کنید: وقتی وارد مرورگر میشوید و آدرس یک سایت را وارد میکنید، در واقع درخواست شما به یک سرور ارسال میشود. آن سرور محتوای سایت را پردازش کرده و برای شما نمایش میدهد. در این حالت شما و مرورگرتان به عنوان کلاینت یا مشتری شناخته میشوید.
در این مطلب از وبسایت راکت قصد داریم بیشتر با سرورها آشنا شویم و نحوه کار آنها را درک کنیم.
سرور چگونه کار میکند؟
برای اینکه یک دستگاه بتواند نقش سرور را ایفا کند، باید به گونهای تنظیم شود که بتواند درخواستهای کلاینتها را از طریق شبکه دریافت و پردازش کند. این قابلیت معمولاً یا بخشی از سیستمعامل است و یا به صورت نرمافزار و سرویسهای نصبشده روی آن اضافه میشود. در واقع، سرور باید همیشه در حالت «گوش دادن» باشد تا هر زمان کلاینت درخواستی ارسال کرد، بتواند پاسخ مناسب را ارائه دهد.
به عنوان نمونه، سیستمعامل Windows Server مایکروسافت به طور پیشفرض امکان دریافت و پاسخگویی به درخواستهای کلاینتها را دارد. در کنار آن، نقشها و سرویسهای اضافی که روی این سیستم نصب میشوند، دامنهی درخواستهایی را که سرور قادر به پاسخگویی به آنهاست، گسترش میدهند. مثال دیگر، وبسرور Apache است که روی یک سیستمعامل نصب میشود و وظیفه دارد به درخواستهای مرورگرهای اینترنتی پاسخ دهد.
زمانی که یک کلاینت به داده یا قابلیتی نیاز دارد، درخواست خود را از طریق شبکه به سرور ارسال میکند. سرور این درخواست را دریافت کرده و پاسخ مناسب را برمیگرداند. این فرایند را «مدل درخواست و پاسخ» یا همان مدل فراخوانی و پاسخ در شبکههای کلاینت-سرور مینامند.

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

سرور فایل یا File Server
یکی از رایجترین انواع سرورها، سرور فایل است. این نوع سرور وظیفه ذخیرهسازی و توزیع فایلها را بر عهده دارد. کاربران مختلف میتوانند به فایلهای ذخیرهشده روی سرور دسترسی داشته باشند و آنها را به اشتراک بگذارند. ذخیرهسازی مرکزی فایلها باعث میشود که پشتیبانگیری و حفظ امنیت دادهها بسیار سادهتر و مؤثرتر از حالتی باشد که هر دستگاه بهصورت مستقل فایلهای خودش را نگهداری کند. سختافزار سرور فایل معمولاً بهگونهای طراحی میشود که سرعت خواندن و نوشتن دادهها را به حداکثر برساند.
سرور چاپ یا Print Server
نوع دیگری از سرورها، سرور چاپ است. این سرور امکان مدیریت و توزیع عملکرد چاپ را فراهم میکند. بهجای اینکه به هر کامپیوتر یک چاپگر اختصاص داده شود، یک سرور چاپ میتواند درخواستهای چاپ را از چندین کلاینت دریافت کرده و آنها را به چاپگر مناسب ارسال کند. امروزه برخی چاپگرهای پیشرفته خودشان دارای سرور داخلی هستند و دیگر نیازی به سرور چاپ جداگانه نیست. این سرور داخلی نیز دقیقاً مانند یک سرور چاپ معمولی عمل میکند و به درخواستهای چاپ پاسخ میدهد.
سرور اپلیکیشن یا Application Server
سرورهای اپلیکیشن، نوعی دیگر از سرورها هستند که برنامهها را اجرا میکنند تا نیازی نباشد هر کلاینت بهصورت محلی آنها را اجرا کند. این نوع سرورها معمولاً برنامههایی را اجرا میکنند که منابع زیادی مصرف میکنند و توسط تعداد زیادی از کاربران استفاده میشوند. با این روش، دیگر نیازی نیست هر کلاینت سختافزار قدرتمندی داشته باشد یا نرمافزارها را جداگانه نصب و نگهداری کند.
سرور DNS
سرورهای DNS نیز نوعی سرور کاربردی هستند که وظیفه تبدیل نامهای قابلفهم برای انسان به آدرسهای IP قابلخواندن برای ماشین را بر عهده دارند. سیستم DNS در واقع یک دیتابیس گسترده از نامها و سرورهای دیگر DNS است که میتوان از آنها برای یافتن آدرس سیستمهای ناشناخته استفاده کرد. وقتی کلاینت به آدرس یک سیستم نیاز دارد، درخواست DNS را با نام منبع موردنظر به سرور DNS ارسال میکند و سرور با استفاده از جدول نامهای خود، آدرس IP مناسب را برمیگرداند.
سرور ایمیل
سرور ایمیل یکی دیگر از انواع رایج سرورهای کاربردی است. این سرور، ایمیلهای ارسالشده به کاربران را دریافت کرده و تا زمانی که کلاینت آنها را درخواست کند، ذخیره میکند. وجود یک سرور ایمیل باعث میشود که تنها یک دستگاه بهدرستی پیکربندی شده و همیشه به شبکه متصل باشد تا بتواند پیامها را ارسال و دریافت کند. در این حالت، دیگر نیازی نیست هر کلاینت سیستم ایمیل مستقل و فعال داشته باشد.
وب سرور
در بازار امروز، یکی از فراگیرترین انواع سرورها، وب سرور است. این سرور نوع خاصی از اپلیکیشن سرورهاست که برنامهها و دادههایی را که کاربران از طریق اینترنت یا اینترانت درخواست میکنند، میزبانی میکند. وب سرور به درخواستهای مرورگرهای کلاینت برای صفحات وب یا سرویسهای مبتنی بر وب پاسخ میدهد. از جمله وب سرورهای رایج میتوان به آپاچی، IIS مایکروسافت و Nginx اشاره کرد.
سرور دیتابیس
با توجه به حجم عظیم دادههایی که توسط شرکتها و کاربران تولید میشود، سرورهای دیتابیس اهمیت زیادی پیدا کردهاند. بسیاری از این دادهها در دیتابیسها ذخیره میشوند که باید در هر لحظه برای چندین کلاینت قابلدسترسی باشند و فضای دیسک زیادی نیاز دارند. این نیازها باعث شدهاند که دیتابیسها روی سرورهای اختصاصی قرار بگیرند. سرور دیتابیس برنامههای مدیریت دیتابیس را اجرا کرده و به درخواستهای متعدد کلاینتها پاسخ میدهد. از جمله نرمافزارهای رایج دیتابیس میتوان به Oracle ،Microsoft SQL Server ،DB2 و Informix اشاره کرد.
سرور پروکسی
سرور پروکسی نوعی سرور واسطه است که بین کلاینت و سرور اصلی قرار میگیرد. این سرور معمولاً برای افزایش امنیت یا جداسازی کلاینتها و سرورها استفاده میشود. سرور پروکسی ابتدا درخواست کلاینت را دریافت میکند، سپس آن را به سرور دیگر یا پردازش دیگری منتقل میکند. پاسخ دریافتی را به کلاینت برمیگرداند، طوری که کلاینت تصور میکند پاسخ را مستقیماً از سرور دریافت کرده است. در این روش، کلاینت و سرور اصلی نیازی به ارتباط مستقیم با یکدیگر ندارند.
سرور مناسب نظارت و مانیتورینگ
در نهایت، برخی سرورها برای نظارت یا مدیریت سایر سیستمها و کلاینتها طراحی شدهاند. این سرورها انواع مختلفی دارند. برخی از آنها فقط به ترافیک شبکه گوش میدهند و تمام درخواستها و پاسخها را ثبت میکنند، بدون اینکه خودشان در پردازش دادهها دخالت کنند. این نوع سرورها میتوانند سلامت شبکه و عملکرد سیستمها را زیر نظر بگیرند. سرورهای مانیتورینگ همچنین میتوانند به درخواستهای کلاینتهای نظارتی پاسخ دهند؛ کلاینتهایی که معمولاً توسط مدیران شبکه برای بررسی وضعیت سیستمها استفاده میشوند.
ساختارهای سرور
مفهوم سرور تقریباً به قدمت خود شبکه است. اساساً هدف از ایجاد شبکه این بود که کامپیوترها بتوانند با یکدیگر ارتباط برقرار کنند و منابع یا وظایف را بین خود تقسیم کنند. از آن زمان تاکنون، دنیای رایانش دستخوش تحولات زیادی شده و انواع مختلفی از ساختارهای سرور و سختافزارهای مرتبط با آن به وجود آمدهاند.
مینفریمها
در ابتدا، سرورها همان رایانههای مینفریم یا مینیکامپیوترها بودند. این دستگاهها تقریباً تمام وظایف پردازشی را انجام میدادند و تنها تعامل با کاربر از طریق صفحهنمایش و صفحهکلید به سیستم کلاینت واگذار میشد. به عبارتی، سرور مسئول پردازش بود و کلاینت فقط نقش واسط ورودی و خروجی را ایفا میکرد.
با گذشت زمان، موج جدیدی از سرورها وارد میدان شد که مبتنی بر سختافزارهای کامپیوتری بودند. این سرورها در واقع نسخههای بزرگتر و قدرتمندتر از رایانههای رومیزی بودند. معمولاً قیمت بالاتری داشتند و از نظر حافظه و فضای ذخیرهسازی بسیار فراتر از کلاینتها عمل میکردند. هر سرور یک واحد مستقل بود که شامل مادربورد، پردازنده، حافظه، دیسکهای سخت و منبع تغذیه اختصاصی خودش بود. این سرورها اغلب در اتاقهای مجهز به تهویه مطبوع نگهداری میشدند که به آنها «اتاق سرور» گفته میشد. بعدها برای بهینهسازی فضای نگهداری، این سرورها در رکهایی نصب میشدند تا دسترسی و مدیریت آنها سادهتر شود.
بلید سرور
با پیشرفت فناوری، نوع جدیدی از سرورها به نام «بلید سرور» معرفی شد. در گذشته، سرورهای سختافزاری بسیار بزرگ بودند و رکها باید وزن زیادی را تحمل میکردند. اما با افزایش سرعت اتصال قطعات و کوچکسازی اجزای رایانه، بسیاری از بخشهای سرور از حالت یکپارچه خارج شدند. حذف هارددیسکهای داخلی، کنار گذاشتن سیستمهای خنککننده داخلی و کوچکسازی قطعات باعث شد سرورها به شکل باریکتری به نام بلید سرور تبدیل شوند. این سرورها همچنان در رکها نگهداری میشوند، اما اندازه کوچکتر و قابلیت تعویض آسانتری دارند.
حتی پیش از ظهور سرورهای مجازی، ساختار سرورها از مدل سنتی نصب سیستمعامل روی یک سختافزار واحد فاصله گرفته بود. فناوریهایی مانند ذخیرهسازی متصل به شبکه (NAS) نیاز به داشتن فضای ذخیرهسازی داخلی برای هر سرور را از بین بردند. همچنین تکنولوژیهایی مانند میرورینگ و کلاسترینگ امکان ترکیب چند قطعه سختافزاری برای ساخت سرورهای قدرتمندتر را فراهم کردند. چنین سروری ممکن بود شامل چندین بلید، چند دستگاه ذخیرهسازی متصل و یک منبع تغذیه خارجی باشد که هر بخش آن در حین کار قابل تعویض بود.
سرورهای مجازی
در نهایت، سرورهای مجازی وارد میدان شدند. این سرورها همچنان به سختافزار نیاز دارند، اما سختافزار آنها اکنون فرآیندی به نام هایپروایزر را اجرا میکند. در برخی موارد، مانند Hyper-V مایکروسافت، سیستمعامل کامل همچنان روی سختافزار اجرا میشود. در موارد دیگر، هایپروایزرهای مستقل یا اصطلاحاً «bare-metal» مستقیماً روی سختافزار نصب میشوند. در هر دو حالت، سختافزار معمولاً شامل مجموعهای از بلید سرورها، فضای ذخیرهسازی شبکهای و منبع تغذیه است. نتیجه این ترکیب، محیطی است که در آن تشخیص مرز بین سرورها تقریباً غیرممکن میشود.
نمونههایی از سیستمعاملهای سرور

در دنیای سرورها، سیستمعامل نقش کلیدی دارد، چرا که تمام عملکردهای سرور از طریق آن مدیریت میشود. در طول سالها، سیستمعاملهای مختلفی برای سرورها توسعه یافتهاند که هرکدام ویژگیها و کاربردهای خاص خود را دارند.
ویندوز سرور
یکی از نخستین سیستمعاملهایی که میتوان آن را سرور نامید، نسخهای از ویندوز به نام Windows for Workgroups بود. در این نسخه، برخی کامپیوترها قابلیت اشتراکگذاری منابع و پاسخگویی به درخواستهای سایر دستگاهها را داشتند؛ بنابراین از نظر فنی، این سیستمها نقش سرور را ایفا میکردند. اما اولین سیستمعامل سرور واقعی مایکروسافت، Windows NT بود. نسخههای 3.5 و 3.51 این سیستمعامل در بسیاری از شبکههای سازمانی مورد استفاده قرار گرفتند تا اینکه مایکروسافت خط تولید Windows Server را معرفی کرد؛ مجموعهای که تا امروز نیز ادامه دارد. نسخهای که در حال حاضر رایجتر است، Windows Server 2016 است. این نسخه از طیف وسیعی از برنامهها و دیتابیسها پشتیبانی میکند و همچنین دارای هایپروایزر داخلی برای اجرای سرورهای مجازی است.
لینوکس/یونیکس
در کنار ویندوز، دنیای لینوکس و یونیکس نیز یکی از بازیگران اصلی در حوزه سیستمعاملهای سرور محسوب میشود. نسخهها و توزیعهای مختلفی از لینوکس و یونیکس وجود دارد، از جمله Red Hat Enterprise Linux، Debian و CentOS. به دلیل متنباز بودن، لینوکس محبوبیت زیادی در نقش سرور وب دارد و اغلب همراه با نرمافزار Apache برای ارائه خدمات وب استفاده میشود. این ترکیب به دلیل پایداری، امنیت و انعطافپذیری بالا، انتخاب اول بسیاری از توسعهدهندگان و شرکتهاست.
سرورهای ابری
با ظهور رایانش ابری، نوع جدیدی از سرورها به نام سرورهای ابری وارد میدان شدند. این سرورها بهصورت مجازی روی زیرساختهای شرکتهای ثالث و از طریق شبکههای باز مانند اینترنت میزبانی میشوند. امروزه ارائهدهندگان زیادی در این حوزه فعالیت میکنند، از جمله Google Cloud Platform، Microsoft Azure و IBM Cloud. با این حال، پیشگام اصلی رایانش ابری در سطح سازمانی، پلتفرم AWS آمازون بود. این سرویس ابتدا با استفاده از ظرفیت مازاد سرورهای داخلی آمازون آغاز شد، اما اکنون به کاربران اجازه میدهد در عرض چند ثانیه یک سرور مجازی ایجاد کنند و منابع آن را بهصورت پویا تنظیم نمایند.
جمعبندی
در دنیای امروز، سرورها نقشی حیاتی در زیرساختهای دیجیتال ایفا میکنند. از ارسال یک ایمیل ساده گرفته تا اجرای پیچیدهترین برنامههای سازمانی، همهچیز به نوعی به سرورها وابسته است. با اینکه ظاهر سرورها ممکن است فقط یک جعبه فلزی یا حتی یک نرمافزار مجازی باشد، اما عملکرد آنها بسیار فراتر از ظاهرشان است.
سرورها به ما این امکان را میدهند که دادهها را به اشتراک بگذاریم، خدمات را متمرکز کنیم، و منابع را بهینهتر استفاده کنیم. آنها پایهگذار ارتباطات مدرن، ذخیرهسازی ابری، و پردازشهای مقیاسپذیر هستند. چه در قالب سختافزارهای قدرتمند در اتاقهای سرور، چه بهصورت سرورهای مجازی در فضای ابری، هدف همهی آنها یکی است: پاسخگویی به نیازهای کلاینتها با سرعت، امنیت و پایداری.
در نهایت، اگر بخواهیم مفهوم سرور را در یک جمله خلاصه کنیم، میتوان گفت:
سرور سیستمی است که همیشه آماده است تا به درخواستهای دیگران پاسخ دهد.
و همین آمادگی دائمی، آن را به یکی از مهمترین اجزای دنیای فناوری تبدیل کرده است.
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید