وب سرور (Web Server) یک نرم افزار و یا یک سیستم است که محتوای وب را از طریق پروتکل های HTTP یا HTTPS به کاربران میرساند. زمانی که درخواست از طریق مرورگر کاربر ارسال میشود (مانند بازدید از یک وبسایت)، وب سرور (Web Server) با ارسال یک پاسخ مناسب مانند بارگذاری صفحات HTML، تصاویر، فیلم ها و اطلاعات این عمل را ممکن میکند.
یک سرور HTTP در واقع یک نوع وب سرور (Web Server) است که وظیفه مدیریت درخواست های HTTP و پاسخ به آنها را به عهده دارد. در حالی که تمامی سرور های HTTP به عنوان یک وب سرور شناخته میشوند، اما این به این معنی نیست که وب سرور ها (Web Server’s) تنها به پروتکل های HTTP محدود میباشند. بعضی از وب سرور ها (Web Server’s) ممکن است از پروتکل های دیگر مانند FTP و SMTP نیز پشتیبانی کنند.
یک وب سرور (Web Server) چطور کار میکند؟
زمانی که کاربر با وارد کردن آدرس مربوط به یک وبسایت در مرورگر خود وارد آن میشود، مرورگر با استفاده از پروتکل HTTP یک درخواست به وب سرور سایتی که در آن میزبانی میشود ارسال میکند. پس از آن وب سرور درخواست ارسال شده را پردازش کرده، و پاسخ مورد نیاز را برای نمایش در صفحه مرورگر کاربر ارسال میکند.
تعریف نحوه کارکرد پردازش انجام شده توسط وب سرور (Web Server) به صورت ساده
- در خواست ارسال شده توسط کاربر: همان آدرسی است که کاربر در مرورگر خود وارد کرده است (به عنوان مثال https://www.example.com)
- بررسی DNS: برای دریافت IP آدرس سایتی که درخواست به آن ارسال شده است، مرورگر با DNS سرور مقصد ارتباط میگیرد.
- پردازش درخواست: وب سرور (Web Server) درخواست را دریافت کرده و آن را پردازش مکیند.
- ارائه پاسخ: منابع در خواست شده (فایل های HTML، CSS، Java Script و تصاویر) توسط وب سرور (Web Server) به مرورگر کاربر ارسال میشوند.
- نمایش صفحه وب: بر اساس اطلاعات دریافت شده از سمت وب سرور (Web Server)، مرورگر صفحه وب را به کاربر نمایش میدهد.
انواع وب سرور ها
وب سرور ها (Web Server’s) میتوانند بر اساس کاربرد، قابلیت و طریقه پیاده سازی آن دسته بندی شوند. در اینجا درمورد چندین وب سرور رایج و پرکاربرد توضیح داده شده است.

وب سرور Apache: وب سرور Apache یکی از محبوب ترین و یکی از قدیمی ترین وب سرور های متن باز (Open-Source) میباشد. این به این معنی است که میتوان از این وب سرور به صورت آزاد استفاده کرد و آن را شخصی سازی کرد. این وب سرور توسط بنیادی به همین نام یعنی Apache Software Foundation توسعه داده شده است و برای اولین بار در سال 1995 منتشر شده است. وب سرور Apache بسیار تغییرپذیر و قابل شخصی سازی است.
- توسط سیستم عامل های مختلف پشتیبانی میشود (Windowst، Linux، MacOS)
- قابلیت مسیریابی پیشرفته دارد.
- قابلیت پیکربندی مناسب و مختص مسیر های متفاوت (یک پیکربندی خاص به ازای هر دایرکتوری) را ارائه میدهد.

وب سرور Nginx: وب سرور Nginx (که به صورت “Engine-x” تلفظ میشود) یک وب سرور با عملکرد پیشرفته میباشد که به دلیل سرعت، مقیاس پذیری و قابلیت مدیریت ارتباطات همزمان به صورت کاربردی، محبوبیت زیادی میان کاربران دارد. این وب سرور در سال 2004 منتشر شده است و در همان زمان به دلیل عملکرد قوی و مقیاس پذیری، به سرعت محبوب شد.
- برای مدیریت ترافیک های سنگین و زیاد در سرور طراحی شده است
- به عنوان یک وب سرور دارای قابلیت های Load Balancer و Reverse Proxy عمل میکند.
- به دلیل ارائه محتوای ایستا بسیار کاربردی است

وب سرور LiteSpeed: وب سرور LiteSpeed یک وب سرور قدرتمند میباشد که به ویژگی هایی مانند سرعت بالا و قابلیت های امنیتی خود شناخته میشود. شرکت سازنده این وب سرور، LiteSpeed Technologies در سال 2003 این وب سرور را منتشر کرده است تا به دلیل ویژگی عملکردی خود، حایگزینی برای وب سرور Apache باشد.
- پردازش سریعتر نسبت به Apache در بعضی از سناریو ها
- قابلیت مقابله ها حملات DDoS
- پشتیبانی از برنامه های PHP با پاسخدهی بالا

وب سرور Apache Tomcat: این وب سرور به منظور اجرای برنامه هایی که بر پایه زبان برنامه نویسی Java نوشته شده اند ساخته شده است. این وب سرور توسط Apache Software Foundation در سال 1998 منتشر شده است. همچنین نوشته شدن این وب سرور به زبان برنامه نویسی Java، آن را به یک گزینه مناسب برای اجرای برنامه های برپایه Java مانند Spring Boot تبدیل میکند.
- پشتبانی از برنامه های Java
- ارائه یک محیط مقاوم برای برنامه های Java
- سازگاری با وب سرور Apache

وب سرور NodeJS: محیط اجرای برنامه های مربوط به زبان برنامه JavaScript یعنی NodeJs، در ابتدا به منظور کاربرد به عنوان یک وب سرور ساخته نشده است. اما به دلیل قابلیت مدیریت درخواست های HTTP به صورت مستقیم و بدون نیاز به برنامه های اضافی، تبدیل به یک گزینه مناسب در میان دیگر وب سرور ها شده است و میتوان از آن به صورت یک وب سرور استفاده نمود.
- قابلیت پشتبانی از ساختار مبتنی بر رویداد
- سازگاری و پاسخدهی مناسب در برنامه های real-time
- استفاده از زبان برنامه نویسی JavaScript برای توسعه سمت کاربر و سمت سرور

وب سرور Microsoft IIS: وب سرور IIS توسط شرکت Microsoft به منظور کار با محیط های Windows Server ساخته شده است. این وب سرور مناسب سیستم های برپایه ویندوز و فریمورک های مربوط به این سیستم عامل میباشد.
- پشتبانی از ASP.NET، PHP و دیگر تکنولوژی های سمت وب
- ارائه قابلیت های امنیتی
- سازگاری عالی با محصولات شرکت Microsoft
کدام وب سرور مناسب شما است و چه زمانی نیاز است که از آن استفاده کنیم؟
انتخاب وب سرور مناسب به نیاز شما از وبسایت یا اپلیکیشن شما بستگی دارد. در ایجا یک راهنمایی ساده برای شما وجود دارد:
- استفاده از Apache: در صورتی که نیاز به یک وب سرور قابل اعتماد و با قابلیت شخضی سازی مناسب که تقریبا بر روی هر سیستمی قابل اجرا است را دارید، وب سرور Apache یک گزینه مناسب میباشد.
- استفاده از Nginx: در صورتی که وبسایت شما بازدید های زیادی دارد و شما به یک وب سرور سریع و کاربردی که بتواند ترافیک های سنگین و شلوغ را مدیریت کند نیاز دارید، از Nginx استفاده کنید.
- استفاده از LiteSpeed: این وب سرور میتواند یک جایگرین مناسب برای Apache به دلیل امینت و سرعت بالاتر باشد، بخصوص در زمانی که میخواهید یک سایت وردپرسی یا یک سایت بر پایه زبان PHP را در سرور خود ایجاد کنید.
- استفاده از Apache Tomcat: برای وبسایتی که بر پایه زبان برنامه نوسی جاوا ساخته شده است و نیاز دارید که سرور بتواند از Java Servelts و JSP پشتبانی کند، یک گزینه مناسب است.
- استفاده از NodeJS: در صورتی که نیاز به یک سرور برای میزبانی برنامه real-time مانند یک بازی آنلاین دارید میخواهید برای توسعه آن از JavaScript استفاده کنید، استفاده از NodeJS به عنوان وب سرور یک گزینه مناسب است.
- استفاده از IIS: این وب سرور برای پیاده سازی برنامه های برپایه ویندوز مانند ASP.NET که نیاز به سازگاری با تکنولوژی های شرکت Microsoft دارد، بسیار مناسب است.