وب سرور نرم افزار و سخت افزاری است که از HTTP (پروتکل انتقال ابرمتن) و پروتکل های دیگر برای پاسخ به درخواست های مشتری که از طریق وب جهانی انجام می شود، استفاده می کند. وظیفه اصلی web server نمایش محتوای وب سایت از طریق ذخیره سازی، پردازش و ارائه صفحات وب به کاربران است. علاوه بر HTTP، وب سرورها همچنین از SMTP (پروتکل انتقال ایمیل ساده) و FTP (پروتکل انتقال فایل) که برای ایمیل، انتقال فایل و ذخیره سازی استفاده می شود، پشتیبانی می کنند.
سخت افزار وب سرور به اینترنت متصل است و امکان تبادل داده با سایر دستگاه های متصل را فراهم می کند، در حالی که نرم افزار وب سرور نحوه دسترسی کاربر به فایل های میزبانی شده را کنترل می کند. فرآیند وب سرور نمونه ای از مدل مشتری/سرور است. تمامی رایانه هایی که میزبان وب سایت ها هستند باید دارای نرم افزار وب سرور باشند.
وب سرور چگونه کار میکند؟
سرورهای وب و اپلیکیشن از مدل سرویس گیرنده-سرور پیروی می کنند. در این ساختار، یک برنامه، کلاینت فیک منبع یا سرویس را از برنامه دیگری سرور درخواست می کند.
سرورهای وب از پروتکل انتقال ابرمتن (HTTP) هنگام پاسخگویی به درخواست های کاربر از طریق شبکه جهانی وب استفاده می کنند. HTTP پروتکلی است که برای تبادل اطلاعات بین رایانه ها استفاده می شود.
از طریق فرآیند درخواست HTTP، سرورها می توانند سند HTML سایت را به مرورگر وب کاربر مانند Google Chrome تحویل دهند.

کاربردهای وب سرور
وب سرورها اغلب به عنوان بخشی از یک بسته بزرگتر از برنامه های مرتبط با اینترنت و اینترانت هستند که برای موارد زیر استفاده می شوند:
- ارسال و دریافت ایمیل
- دانلود درخواست برای فایل های پروتکل انتقال فایل (FTP)
- ساخت و انتشار صفحات وب
سیاری از وب سرورهای اصلی نیز از برنامه نویسی سمت سرور پشتیبانی می کنند، که برای به کارگیری اسکریپت ها در یک web server استفاده می شود که می تواند پاسخ به مشتری را سفارشی کند. برنامه نویسی سمت سرور روی ماشین سرور اجرا می شود و معمولاً دارای مجموعه ای از ویژگی های گسترده است که شامل دسترسی به پایگاه داده می شود. فرآیند اسکریپت نویسی سمت سرور همچنین از صفحات سرور فعال (ASP)، پیش پردازشگر فرامتن (PHP) و سایر زبان های برنامه نویسی استفاده می کند. این فرآیند همچنین اجازه می دهد تا اسناد HTML به صورت پویا ایجاد شوند.
تفاوت وب سرورهای استاتیک با پویا
وب سرورها بسته به نرم افزار نصب شده می توانند محتوای ثابت و پویا تولید کنند.
وب سرورهای استاتیک شامل یک کامپیوتر و نرم افزار HTTP است. در همین حال، یک سرور وب پویا از یک web server ثابت به همراه نرم افزار اضافی، معمولاً یک سرور برنامه و پایگاه داده تشکیل شده است.
یک webserver استاتیک فایل ها را بدون هیچ تغییری به مرورگرهای وب ارسال می کند و آنها را برای سایت هایی با محتوای ثابت مانند وبلاگ ها و نمونه کارها مناسب می کند. از آنجایی که نیازی به پردازش پیچیده سمت سرور نیست، وب سایت های استاتیک تمایل دارند سریعتر بارگذاری شوند.

از سوی دیگر، یک web server برای یک وب سایت پویا، فایل های میزبانی شده را با استفاده از نرم افزارهای اضافی به روز می کند تا محتوا را بر اساس تعاملات کاربر شخصی سازی کند. این گزینه عالی برای سایت هایی مانند پلتفرم های رسانه های اجتماعی و فروشگاه های تجارت الکترونیک است.
چرا از وب سرور استفاده کنیم؟
وب سرورها می توانند چندین کار مانند ارسال و دریافت ایمیل، ذخیره برنامه های کاربردی وب و پردازش درخواست های FTP را انجام دهند. با این حال، استفاده اولیه از سرور وب میزبانی وب سایت ها است که آنها را برای کاربران در سراسر جهان کاربردی و تعاملی می کند.
برای ایجاد و انتشار یک وب سایت، باید به یک وب سرور دسترسی داشته باشید. ساده ترین راه برای انجام این کار، خرید میزبانی وب و نام دامنه از یک ارائه دهنده هاست است.

خدمات میزبانی وب سایت، فضای سرور را برای ذخیره فایل ها و پایگاه داده های وب سایت شما فراهم می کند. در همین حال، نام دامنه به عنوان یک آدرس منحصر به فرد برای وب سایت شما عمل می کند و به بازدیدکنندگان کمک می کند تا آن را به راحتی پیدا کنند.
وب سرورهای رایج
تعدادی از وب سرورهای رایج موجود است که برخی از آنها عبارتند از:
سرور HTTP آپاچی این یک web server رایگان و متن باز برای ویندوز، مک او اس ایکس، یونیکس، لینوکس، سولاریس و سایر سیستم عامل ها است که توسط بنیاد نرم افزار آپاچی توسعه یافته است و به مجوز آپاچی نیاز دارد.
خدمات اطلاعات اینترنتی مایکروسافت (IIS). توسعه یافته توسط مایکروسافت برای پلتفرم های مایکروسافت؛ این وب سرور متن باز نیست، اما به طور گسترده استفاده می شود.
Nginx. یک وب سرور متن باز محبوب برای مدیران به دلیل استفاده از منابع نور و مقیاس پذیری آن و به دلیل معماری رویداد محور، می تواند بسیاری از جلسات همزمان را مدیریت کند. Nginx همچنین می تواند به عنوان یک سرور پروکسی و متعادل کننده بار استفاده شود.
Lighttpd. یک web server رایگان که با سیستم عامل FreeBSD ارائه می شود. این وب سرور سریع و ایمن است، در حالی که انرژی CPU کمتری مصرف می کند.
وب سرور سیستم جاوا سان. یک وب سرور رایگان از Sun Microsystems که می تواند بر روی ویندوز، لینوکس و یونیکس اجرا شود. این وب سرور به خوبی برای مدیریت وب سایت های متوسط تا بزرگ مجهز شده است.
تامین امنیت در وب سرورها
روشهای امنیتی زیادی وجود دارد که افراد میتوانند در مورد استفاده از web server تنظیم کنند که میتواند تجربه ایمنتری را ایجاد کند. چند نمونه از اقدامات امنیتی می تواند شامل فرایندهایی مانند:
- یک پروکسی معکوس، که برای مخفی کردن یک سرور داخلی طراحی شده است و به عنوان یک واسطه برای ترافیک منشأ یک سرور داخلی عمل می کند.
- محدودیت دسترسی از طریق فرایندهایی مانند محدود کردن دسترسی میزبان وب به ماشینهای زیرساخت یا استفاده از Secure Socket Shell.
- به روز نگه داشتن وب سرورها برای اطمینان از اینکه web server در معرض آسیب پذیری قرار ندارد.
- نظارت بر شبکه برای اطمینان از عدم وجود فعالیت یا فعالیت غیرمجاز
- استفاده از فایروال و SSL به عنوان فایروال می تواند ترافیک HTTP را نظارت کند در حالی که داشتن یک لایه سوکت ایمن (SSL) می تواند به حفظ امنیت داده ها کمک کند.
جمع بندی
وظیفه اصلی یک web server میزبانی وب سایت ها، پردازش درخواست های HTTP و ارائه محتوای وب به کاربران است. علاوه بر Apache و NGINX، سایر وب سرورهای موجود در بازار عبارتند از Microsoft Internet Information Services و Lighttpd.
انواع مختلف وب سرورها می توانند محتوای پویا یا محتوای ثابت را به مرورگر ارائه دهند. یک وب سایت استاتیک محتوای یکسانی را برای همه نمایش می دهد، در حالی که یک وب سایت پویا محتوایی را نشان می دهد که برای هر کاربر منحصر به فرد است.
خرید یک طرح میزبانی وب برای هر نوع وب سایتی ضروری است. میزبان وب مسئول حفظ امنیت و عملکرد سرور خواهد بود. به این ترتیب، زمان بیشتری برای تمرکز بر روی موارد دیگر، مانند بازاریابی کسب و کار و عملکرد روزانه خود خواهید داشت.