چه نوع وب سرویسی مناسب است؟

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

وب سرویس ها به زبان برنامه نویسی، پلت فرم و پروتکل خاصی وابستگی ندارند. یعنی شما می توانید با هر زبان برنامه نویسی روی هر پلت فرمی از وب سرویس ها استفاده کنید. یک وب سرویس نتیجه پردازش هایش را در قالب فرمت XML به برنامه در خواست کننده بوسیله HTTP می فرستد. فرمت XML، راهی استاندارد برای ارتباط دو سیستم ناسازگار است. علت اینکه پیغام های وب سرویس ها با استفاده از HTTP ارسال می شود این است که به راحتی و بدون اینکه توسط فایروال ها بلاک شوند، به دست برنامه درخواست کننده روی اینترنت برسد.
از مثال های وب سرویس های ساده ای که امروز استفاده می شود، می توان به سرویس گزارش وضع هوا، سرویس اخبار، سرویس تبدیل واحدهای پولی، سرویس شناسایی کشور از روی IP و … اشاره نمود.

عبارت “وب سرور” همواره دارای دوبخش مجزا است:

  • ماشین حقیقی (و یا مجازی) سخت افزاری که که نرم افزار و سیستم عامل این سرور را نگهداری و اجرا میکند .
  • نرم افزاری که بروی سیستم عامل نصب شده (و یا با سیستم عامل یک پارچه شده است) و وظیفه ارائه محتوای وب را به کاربران به عهده دارد.

مفهوم اول یک مفهوم سخت افزاری است که با شکل و معماری شبکه ارتباط مستقیمی دارد. ممکن است که با تکنولوژی مجازی سازی یک ماشین مجازی ایجاد شده باشد و وظیفه پردازش اطلاعات وب را این سرور به عهده بگیرد. همچنین ممکن است که شبکه مورد نظر، یک شبکه پیچیده از ده ها مسیریاب و دیواره آتش و سرورهای سخت افزاری مختلف باشد. ممکن است که همه سرویس ها بروی یک سرور اجرا شود و ممکن است که برای هر سرویس یک سرور اختصاصی در نظر گرفته شود.
در این مقاله منظور از وب سرور، ماهیت نرم افزاری وب سرور است و ماهیت سخت افزاری وب سرور را در این مقاله بررسی نخواهیم کرد.
در اغلب موارد زمانی که شما بروی بستر ویندوز هستید، از وب سرور IIS (Internet Information Services/Server) استفاده می کنید و زمانی که بر روی یکی از توزیع های لینوکس هستید از وب سرور آپاچی (Apache) استفاده می کنید اما لزوما استفاده از این سیستم عامل ها به معنای استفاده قطعی از وب سرورهای ذکر شده نیست و گزینه های دیگری نیز در دسترس است.

محبوب ترین وب سرورها:

کدام وب سرور مناسب سایت شماست، سوالی است که به فاکتورهای متفاوتی بستگی دارد و نمی توان یک دستورالعمل همیشگی برای پاسخ به این سوال ارائه کرد. ابتدا از درصد محبوبیت سرورهای وب در میان کاربران اینترنتی شروع میکنیم.

برای بررسی محبوبیت سرورهای وب، چهار وب سرور که دارای بیشترین سهم در بازار هستند را بررسی می کنیم :

1) Apache
2) IIS
3) NginX
4) Google Webserver

(دلیل عدم بررسی Light speed با وجود محبوبیت بالای آن در این مقاله ، عدم رایگان بودن آن و هزینه بالایی است که باید برای خرید آن پرداخت کرد.)

طبق گزارش w3techs درصد استفاده سایت های اینترنتی از وب سرور های فوق به شرح زیر است :

Usage Statistics and Market Share of Web Servers for Websites  November 2014

 

چطور وب سرور مناسب را انتخاب کنیم؟
برای انتخاب وب سرور مناسب، موارد زیر را باید در نظر گرفت:
1) هزینه
2) پشتیبانی
3) امکانات
4) کاربرپسند بودن و راحتی کار
مبحث قیمت همواره به عنوان یک پارامتر وابسته با پشتیبانی بوده است و نمی توان این دو مقوله را از یکدیگر جدا کرد. زمانی که شما یک وب سرور کدباز را به دلیل رایگان بودن ان انتخاب می کنید در حقیقت از هزینه های مخفی زیادی در پی این انتخاب خواهید داشت. این هزینه ها می توانند در راه اندازی، نگهداری و یا رفع عیوب احتمالی در آینده خود را نشان دهند.
در وب سرورهای رایگان و کدباز شما دو راه برای دریافت کمک و پشتیبانی خواهید داشت. اول اینکه در فروم ها و تالارهای گفتگوی اینترنتی سوال خود را مطرح و در انتظار پاسخ باشید و به شکل آزمون و خطا مشکل را برطرف کنید و یا اینکه از یک پشتیبان تجاری درخواست کمک کنید و هزینه آن را بپردازید.
در وب سرورهای تجاری (غیرکدباز) شما همواره یک شرکت تجاری را در مقابل خود می بینید که به صورت مستمر از طریق فروم رسمی و ایمیل و حتی موارد دیگر به پشتیبانی وب سرور خود می پردازند.
در انتخاب وب سرور و سیستم عامل، گزینه های زیر به صورت معمول در دسترس است :

LAMP: Linux, Apache, MySQL and PHP
WIMP: Windows, IIS, MySQL/MS SQL Server and PHP (CGI + ASP + .Net
WAMP: Windows, Apache, MySQL/MS SQL Server and PHP
LEMP: Linux, NGINX, MySQL and PHP

همانطور که مشاهده می کنید ، یکی از گزینه های معمول و محتمل استفاده از Apache بروی ویندوز است. همچنین گزینه های بسیاری هم به صورت تجاری (غیر کدباز) و هم به صورت رایگان و کدباز وجود دارد که کاربران با توجه به نیاز خود می توانند از این گزینه ها نیز استفاده کنند.

مروری اجمالی بر وب سرورها:
همانطور که در آمارها مشخص است، سه بازیگر اصلی در دنیای وب سرورها Apache، IIS و NginX هستند و همچنین وب سرورهایی مانند LiteSpeed و Google Web Server نیز در رده های بعدی عمده سهم بازار وب سرورها را در اختیار دارند.

در ادامه این وب سرور ها را بررسی و نقاط قوت و ضعف هر یک و همچنین چند سایت معروف روی این وب سرورها را بر می شماریم:

 

Apache:

صفحه خانگی: http://httpd.apache.org

هزینه: کدباز، رایگان و بدون هزینه لایسنس

مزایا:
انعطاف پذیری بسیار بالا و امکان استفاده از ماژول های متنوع
دسترسی به سورس کد و امکان سفارشی سازی بالا
امنیت بالا در زمینه آلودگی ویروسی
انجمن های اینترنتی متنوع برای پرسش و پاسخ و رفع مشکل
امکان نصب روی سیستم های عامل مختلف ( ویندوز، لینوکس، مک و یونیکس )

سایت های معروفی که از این وب سرور استفاده می کنند:
Baidu, Wikipedia, PayPal, Apple, Huffington Post

معایب :
عدم پشتیبانی رسمی و تجاری
عدم استفاده بهینه از منابع سخت افزاری

 

 

Microsoft IIS:

صفحه خانگی: http://www.iis.net
هزینه: پرداخت شده به همراه هزینه لایسنس ویندوز

مزایا:
پشتیبانی رسمی و تجاری توسط شرکت مایکروسافت
پشتیبانی از طیف گسترده زبان های برنامه نویسی
قابلیت انطباق با سرویس های دیگر مایکروسافت
استفاده بهینه از منابع سخت افزاری


معایب :
عدم امکان سفارشی سازی به دلیل عدم دسترسی به سورس کد

سایت های معروفی که از این وب سرور استفاده می کنند:
Live.com, Bing.com, Microsoft, MSN, Barbie.com

 

521c657a07666

NginX:

صفحه خانگی: http://wiki.nginx.org/Main
هزینه: کدباز، رایگان و بدون هزینه لایسنس


مزایا:
مشهور به خاطر سرعت و پایداری بالا
استفاده بهینه از منابع سخت افزاری
دسترسی به سورس کد و امکان سفارشی سازی بالا

سایت های معروفی که از این وب سرور استفاده می کنند:
Wordpress.com, Pinterest, Tumblr, Instagram, CNet, Meetup.com, Weibo, Time.com

 

در انتها و پس از بررسی این وب سرور ها نمی توان به روشنی عنوان کرد که کدام وب سرور بهتر و کدام مناسب نیست زیرا بنا به موارد استفاده و سناریویی که در حال اجرای آن هستیم باید وب سرور خود را انتخاب کنیم.