وب سرور
زمانی که کاربر درخواستی را به سایت شما ارسال می کند، وب سرور مسئول پاسخگویی به درخواست کاربر و ارسال محتوای درخواستی است. در این مقاله در مورد وب سرور چیست و انوع وب سرور محبوب جهان و مقایسه آنها می پردازیم.
وبسرور چگونه کار میکند
وب سرور برنامه ای است که از پروتکل HTTP برای ارائه فایل ها در پاسخ به درخواست کاربران صفحه وب استفاده می کند. این درخواست ها از طریق اتصال HTTP به رایانه های کاربران ارسال می شود. هر سروری که یک سند XML را به دستگاه دیگری تحویل می دهد، می تواند وب سرور باشد. تعریف بهتر این است که وب سرور در واقع یک سرور اینترنتی است که به درخواست های HTTP برای محتوا و خدمات پاسخ می دهد.
حالا با یک مثال ساده، فرض کنید در مقابل کامپیوتر خود در حال وبگردی هستید و این پیام را از دوستتان دریافت می کنید: “من یک مقاله عالی در URL خواندم”. بنابراین این URL را در مرورگر تایپ کرده و Enter را فشار دهید. فرقی نمی کند که این وب سایت کدام وب سایت در دنیا باشد می تواند صفحه را در رایانه شما نمایش دهد.
وب سرور چگونه کار می کند؟ یک وب سرور همیشه به اینترنت متصل است. هر سرور اختصاصی و سرور مجازی که به اینترنت متصل می شود دارای یک آدرس منحصر به فرد است که شامل یک سری چهار رقمی بین 0 تا 255 است که این اعداد با یک نقطه (0) از هم جدا می شوند. وب سرور همچنین به ارائه دهندگان میزبانی امکان می دهد چندین دامنه (کاربر) را روی یک سرور واحد مدیریت کنند.
انواع وب سرورها
انواع وب سرورها شامل Apache، IIS، NginX و LiteSpeed می شوند.
وب سرور Apache
وب سرور Apache یکی از محبوب ترین وب سرورهای توسعه یافته توسط نرم افزار آپاچی است. آپاچی که یک نرم افزار متن باز است، تقریباً از تمامی سیستم عامل ها مانند لینوکس، ویندوز، یونیکس فری بی اس دی، مک او اس ایکس و غیره پشتیبانی می کند. حدود 60 درصد ماشین ها بر روی وب سرور آپاچی اجرا می شوند. شما به راحتی می توانید وب سرور آپاچی را سفارشی کنید زیرا ساختار ماژولار دارد. از آنجایی که این یک منبع باز است، اگر می خواهید تنظیماتی را مطابق با نیازهای خود انجام دهید، می توانید ماژول های خود را به سرور اضافه کنید. این وب سرور در مقایسه با سایر وب سرورها از پایداری فوق العاده ای برخوردار است و مشکلات اجرای آن به راحتی حل می شود. آپاچی را می توان با موفقیت بر روی چندین پلتفرم نصب کرد. آخرین نسخه های آپاچی به شما این امکان را می دهد که به درخواست های بیشتری نسبت به نسخه های قبلی پاسخ دهید.
وب سرور IIS
وب سرور IIS محصول مایکروسافت است و سروری است که تمامی ویژگی های آپاچی را ارائه می دهد. از آنجایی که این سرور منبع باز نیست، افزودن ماژول های شخصی و همچنین اصلاح آن کمی دشوار است. این سرور از تمامی پلتفرم های در حال اجرا بر روی سیستم عامل ویندوز پشتیبانی می کند. همچنین، اگر با مشکل مواجه شدید، میتوانید پشتیبانی خوبی از مشتری دریافت کنید.
وب سرور Nginx
وب سرور Nginx یک وب سرور منبع باز پس از آپاچی است. این سرور از سرور پروکسی IMAP / POP3 تشکیل شده است. ویژگی های قابل توجهی که Nginx ارائه می دهد شامل عملکرد بالا، پایداری، پیکربندی ساده و استفاده کم از منابع است. Nginx برای پاسخ به درخواست ها به هیچ رشته ای نیاز ندارد. در عوض، یک معماری رویداد محور مقیاس پذیر که از مقدار کمی حافظه قابل پیش بینی تحت بار استفاده می کند، در اینجا استفاده می شود. این سرور اخیراً محبوب شده است و در سطح جهانی 7.5 درصد از کل دامنه ها را میزبانی می کند.
وب سرور LightSpeed
وب سرور LiteSpeed یک جایگزین برای اپاچی با عملکرد بالا است و چهارمین وب سرور محبوب در اینترنت و یک وب سرور تجاری میباشد. وقتی وب سرورتان را به LiteSpeed ارتقا میدهید بهبود عملکرد زیاد را با هزینه عملیاتی کم تجربه خواهید کرد. این سرور با ویژگیهای رایج اپاچی سازگاری دارد. این سرور میتواند فایلهای پیکرهبندی Apache را بارگذاری کند و بصورت یک جایگزین برای اپاچی همراه با تمام پنلهای کنترل از جمله هاست cPanel کار میکند. سرور LiteSpeed میتواند ظرف 15 دقیقه بدون هیچ خرابی جایگزین Apache شود. LSWS تمام عملکردها و وظایف Apache را جایگزین میکند که هیچ راه حل پروکسی front-end دیگری نمیتواند این کار را انجام دهد تا تغییر حالت از Apache به LiteSpeed را راحتتر کند.
Apache Tomcat
آپاچی تامکت، که حاوی سرولت منبع باز جاوا است، به عنوان یک وب سرور عمل می کند. یک برنامه جاوا که قابلیت های سرور را توسعه می دهد، Java Servate نامیده می شود. Servolos می تواند به هر نوع درخواستی پاسخ دهد، اما آنها معمولا برنامه های وب سرور را اجرا می کنند. این سرورهای وب معادل جاوای فناوری های محتوای وب پویا مانند PHP و ASP.NET هستند. Sun Microsystems پایه کد Tomcat را در سال 1999 به نرم افزار Apache اهدا کرد، که در سال 2005 به یک پروژه سطح بالا برای Apache تبدیل شد. در حال حاضر تنها کمتر از 1٪ از تمام وب سایت ها را پشتیبانی می کند. Apache Tomcat که تحت نسخه دوم مجوز آپاچی منتشر شده است، معمولاً برنامه های جاوا را اجرا می کند. اما می توان آن را به Coyote گسترش داد تا بتواند به عنوان یک وب سرور معمولی عمل کند که فایل های محلی را به عنوان اسناد HTTP ارائه می دهد. آپاچی تامکت اغلب در بین سرورهای برنامه منبع باز جاوا، مانند Wildfly، JBoss و Glassfish فهرست شده است.
Node.js
Node.js اساساً یک محیط سرور جاوا اسکریپت است که برای برنامه های کاربردی شبکه مانند وب سرورها استفاده می شود. در اصل توسط رایان دال در سال 2009 نوشته شده است. Node.js، با سهم بازار کمتری، تقریباً 0.2٪ از تمام وب سایت ها را پشتیبانی می کند. پروژه Node.js توسط سازمان Node.js با کمک برنامه پروژه مشارکتی لینوکس مدیریت می شود. میزبانی Nodejs با سایر وب سرورهای محبوب متفاوت است زیرا اساساً یک محیط زمان اجرا بین پلتفرمی برای ساخت برنامه های شبکه است. یک معماری رویداد محور توسط Node.js پیادهسازی شده است که قادر به اجرای I/O ناهمزمان است. به دلیل این انتخابهای طراحی، بهینهسازی و مقیاسپذیری در برنامههای کاربردی وب بهینه شدهاند که به ارتباطات بلادرنگ و بازیهای مرورگر کمک میکنند. Node.js همچنین به درک تفاوتها در پشتههای توسعه وب کمک میکند، جایی که Node.js به وضوح بخشی از پشتههای HTML، CSS و جاوا اسکریپت است، برخلاف Apache یا NGINX، که بخشی از چندین پشته نرمافزاری مختلف هستند. Node.js تحت ترکیبی از مجوزهای مختلف منتشر می شود.
Lighttpd
Lighttpd که “lightly” تلفظ می شود، اولین بار در مارس 2003 منتشر شد. Lighttpd در حال حاضر تقریباً 0.1٪ از تمام وب سایت ها را اداره می کند و تحت مجوز BSD توزیع می شود. Lighttpd به دلیل بار کم CPU، حافظه کم چاپ عکس و بهینه سازی سرعت منحصر به فرد است. این سرور از معماری رویداد محور استفاده می کند و برای تعداد زیادی از اتصالات موازی بهینه شده است و همچنین از fastCGI، Auth، Output-compression، SCGI، URL-Rewriting و بسیاری ویژگی های دیگر پشتیبانی می کند. این یک وب سرور محبوب برای چارچوب های وب مانند Catalyst و Ruby on Rails است.
انواع دیگر سرورها
انواع دیگر سرورها نیز وجود دارند که در ادامه به آنها میپردازیم
مِیل سرور
در یک میل سرور یک فضای دیسکِ از درون قفل شده برای ذخیرهسازی و اشتراکگذاری اسناد مختلف در قالب ایمیل برای کاربران شبکه در اختیار دارد. تمام دادهها در یک مکان ذخیره میشود و در نتیجه مدیران فقط باید فایلها را از یک کامپیوتر بکآپ بگیرند.
اپلیکیشن سرور
این سرور بصورت مجموعهای از اجزا عمل میکند که توسعهدهنده نرمافزار از طریق یک API که بوسیله خودِ پلتفرم تعریف شده آن را پردازش میکند. این اجزا معمولأ در محیطی مشابه با وب سرور(ها) برای اپلیکیشنهای وب اجرا میشوند. وظیفه اصلی آنها پشتیبانی از ساخت صفحات پویا است.
سرور پروتکل انتقال فایل (FTP)
کنترل جداگانه و اتصالات داده توسط FTP بین مشتری و سرور بکار میروند. کاربرانFTP میتوانند با یک نام کاربری و رمز ورود اجازه دسترسی داشته باشند. هرچند اگر سرور به آنها اجازه نداد میتوانند با استفاده از نامهای ناشناس متصل شوند. برای امنیت انتقال، نام کاربری و رمز عبور باید با استفاده از FTP و SSL رمزنگاری شوند.
سرور پایگاه داده
برنامه رایانه ای که خدمات پایگاه داده را به برنامه های رایانه ای یا سایر رایانه ها با استفاده از آژانس سرویس گیرنده-سرور ارائه می دهد “سرور پایگاه داده” نامیده می شود. بسته به مدل کلاینت-سرور برای دسترسی به پایگاه داده، تعدادی DBMS (مثلاً MySQL) وجود دارد. این نوع سرور را می توان از طریق یک “فرانت اند” که بر روی کامپیوتر کاربر اجرا می شود و درخواست می کند، یا یک “پشت پایان” که به عنوان تجزیه و تحلیل و ذخیره سازی داده عمل می کند، دسترسی داشت.
سرور سیستم نام دامنه (DNS)
سرور رایانه ای که میزبان خدمات شبکه برای پاسخگویی به پرس و جو است، «نیم سرور» نامیده می شود. این سرور یک آدرس یا جزء شناسایی عددی را ترسیم می کند. این کار توسط سرور برای پاسخ به درخواست پروتکل سرویس شبکه انجام می شود. این سرورهای DNS اساساً نامهای دامنه و نامهایی را که فرد میتواند به خاطر بسپارد را به آدرسهای پروتکل اینترنت عددی (IP) ترجمه میکند. DNS همچنین به شناسایی فضای اسمی اینترنت کمک می کند. از این فضا برای شناسایی و یافتن سیستم ها و منابع کامپیوتری در اینترنت استفاده می شود.