تفاوت بین Web Server و Application Server در چیست ؟

امروز می خواهیم در خصوص تفاوت اصلی بین Web Server و Application Server توضیح دهیم.

تفاوت بین Web Server و Application Server در چیست ؟

همیشه زمانیکه قرار بود Role های موجود در ویندوز سرور 2008 را معرفی کنم دو مورد برای دانشجویان عزیز ابهام بر انگیز بود ، ما در سرور 2008 و به بعد از آن Web Server و Application Server را بصورت جداگانه می بینیم ، امروز می خواهیم در خصوص تفاوت اصلی بین Web Server و Application Server توضیح دهیم.

زمانیکه صحبت از World Wide Web می شود مهمترین واژه هایی که به چشم می آید Application server و Web Server است که با توجه به تشابه هایی که در این بین وجود دارد ممکن است با هم اشتباه گرفته شوند.

بیشتر ما تاکنون با واژه Web Server یا سرویس دهنده وب آشنا شده ایم یا حداقل با شنیدن این واژه کمی با ماهیت کاری آن بصورت ناخودآگاه آشنا می شویم. 

وب سرور یا Web Server چیست ؟

یک وب سرور یا Web Server در واقع یک نرم افزار یا یک سخت افزار است که برای سرویس دهی محتوا یا Content هایی از قبیل صفحات HTML ، فیلم و ... برای استفاده کاربران عادی توسط مرورگرهای اینترنتی پیاده سازی و مورد استفاده قرار می گیرد.

در واقع Web Server همان چیزی است که مرورگر اینترنتی شما به آن وصل می شود و اطلاعات مورد نیاز شما را از آن دریافت می کند ، برای مثال همین الان که شما در حال مشاهده این مطلب در وب سایت جواب اینجا هستید ، محتوای موجود در این صفحه بر روی یک وب سرور قرار گرفته است و مرورگر شما به این وب سرور متصل شده و اطلاعات را دریافت و به شما نمایش می دهد.

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

تفاوت بین Web Server و Application Server

Application Server چیست ؟

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

در واقع این نرم افزارهای کاربردی هیچگونه رابط گرافیکی ندارند و فقط برای ارائه داده ها و اطلاعات به کلاینت ها مورد استفاده قرار می گیرند.

Application Server ها و Web Server ها استفاده ها و تشابه هایی در عملکرد دارند که اصلا بعید نیست یک وب سایت هم Application باشد و هم Web و طبیعتا روی سرور این وب سایت شما هم Application Server را خواهید داشت و هم Web Server ، وظیفه وب سرور گرفتن اطلاعات از محتویات ارائه شده توسط Application Server است و در کنار آن Web Server هم اطلاعات گرفته شده را در اختیار کاربران قرار می دهد ، در واقع یک همکاری کاملا درست ، یکی اطلاعات را ایجاد می کند و دیگری اطلاعات را سرویس دهی و نمایش می دهد.

اما به این موضوع دقت کنید که هر کدام از این Role ها می توانند به تنهایی نیز کار کنند و الزامی به وجود هر دوی آنها بر روی یک سرور نیست.

Web Server هایی که دارای محتویات ساده و صفحات استاتیک وب هستند نیازی به داشتن Application Server ندارند و همچنین Application هایی که اصلا رابط گرافیکی ندارند و توسط نرم افزارهای تحت شبکه سرویس دهی می کنند نیز طبیعتا نیازی به داشتن Web Server برای انجام کارهای خود ندارند. 

Application Server ها با توجه به ماهیت کاریشان به نسبت Web Server ها دارای انعطاف پذیری بیشتری برای پیاده سازی هستند ، Application ها برای اجرا به مراتب از تنوع منابع و آزادی عمل بیشتری برخوردار هستند.

همین امر هم ممکن است باعث بروز نقاط ضعف امنیتی در Application Server ها شود که مهاجمین بتوانند از آن سوء استفاده کنند. با توجه به اینکه به نسبت Web Server ها دارای ساختار کاری ساده تری هستند طبیعتا حملاتی که به وب سرورها انجام می شود کمتر از Application Server ها است.

اما به این موضوع هم توجه کنید که امروزه تقریبا همه Application ها را به گونه ای می نویسند که با ترکیب شدن با وب سرورها کار کنند و به نوعی Web Application Server ها امروزه در دنیای فناوری اطلاعات حرف می زنند ، این موضوع هم خوب است و هم بد ، از این جهت خوب است که یکپارچگی ایجاد شده در این محصولات باعث سهولت دسترسی به Application مورد نظر می شود و کاربر می تواند براحتی با استفاده از یک مرورگر اینترنتی ساده به Application سرور خود متصل شود و از جهتی مشکل امنیتی بیشتری پیش می آید ؛ نقاط ضعف امنیتی Application Server ها و Web Server ها در این حالت تجمیع می شود و مهاجمین اینگونه نرم افزارها را بیشتر مورد حملات خود قرار می دهند . 

در سطوح امنیتی بالای سازمانی پیشنهاد می شود که Application Server ها از Web Server ها جدا باشند و Web Server که صرفا به عنوان یک واسط کاربری محسوب می شود در منطقه حفاظت شده ای به نام DMZ قرار بگیرد و Application Server در داخل شبکه داخلی محافظت شده قرار بگیرد تا از بروز حملات بر روی آن جلوگیری شود ، به هر حال شما می توانید هر دوی این سرویس ها را روی یک ماشین هم داشته باشید و این کاملا به دیدگاه طراح شبکه شما بستگی دارد.

منبع:توسینسو