web server vs application server
توسط royaflash دذ ۲۶ بهمن, ۱۳۹۴ دذ ۰۸:۰۸ قبل از ظهر | دسته‌بندی شده در شبکه | با ۰ دیدگاه |670 views

 سلام خدمت دوستان و همراهان عزیز .
همیشه این سوال مطرح میشه تفاوت بین وب سرور و اپلیکیشن سرور چیست ؟    web server vs application server
وب سرور هندل کننده پروتکل Http است. وقتی که وب سرور یک Http request دریافت میکند، پاسخ آن را به صورت Http response و به عنوان مثال در قالب یک صفحه html می تواند ارسال کند. در حقیقت وب سرور با پردازش درخواست، پاسخ را به صورت یک صفحه html استاتیک، عکس و یا تولید صفحات داینامیک مانند jsp و … ، ارسال می کند. در حقیقت وب سرور ارسال کننده درخواست به برنامه است. در حقیقت وب سرور هیچ کارایی فراتر از فراهم کردن یک محیطی که در آن برنامه server-side بتواند اجرا شود و نتیجه یا پاسخ تولید شده را بتواند بر گرداند، ندارد.

این درحالی است که Application server از طریق پروتکل هایی مانند Http، TCP-IP و … bussiness logic برنامه را در معرض client applications قرار می دهد. در حقیقت یک application server provider اجازه دسترسی کلاینت به bussiness logic را جهت استفاده می دهد. به عبارت دیگر application srever استفاده می شود تا bussiness logic را اجرا کند یا کد نمایشی (presentation code) را به صورت داینامیک تولید نماید. به عنوان مثال یک J2EE application server، سرولت ها(servlet) و jsp ها را به منظور تولید صفحات Html داینامیک اجرا میکند.
گر از واژه web server استفاده کنیم تعریفی مشخص در ذهن همگان پدیدار می شود و آن هم بصورت کلی سرویس دهنده ای که می تواند به در خواست های HTTP سرویس دهد. اما وقتی از واژه application server استفاده می کنیم یک تعریف کلی (که تقریبا بین همه مشترک است) به ذهن خطور می کند و کلی تعریف دیگر که بین پلتفرم های مختلف متفاوت است. در نتیجه اولین تفاوت در استاندارد بودن کاربرد این دو واژه است بصورتی که web server تعریفی استاندارد دارد در حالی که application server بصورت خاص (برای پلتفرم های مختلف ) تعریف استاندارد دارد. برای مثال تعریف application server در دنیای Java EE با دنیای .Net و PHP متفاوت است.

اما مورد بعدی این که سرویس هایی که یک web server عرضه می کند (مانند HTTP) می تواند توسط یک application server نیز عرضه شود ولی لزوما (در بعضی پلتفلرم ها حتما) سرویس هایی که توسط application server عرضه می شود (مانند EJB ، Zend و .Net) نمی تواند توسط web server ارائه شود.

Application Server نرم افزاری هست که واسط بین نرم افزار شما و سیستم عامل می باشد. این نرم افزار وظایفی چون:
اجرای کتابخانه ها و سرویس های نرم افزار شما
دریافت منابع سیستمی از سیستم عامل و مهیا کردن آنها برای سیستم شما و سایر سیستم های دیگری که ممکن است همزمان روی آن as د  حال اجرا باشند، به شیوه کاملا مدیریت شده
برقراری ارتباط سیستم شما با سایر سرور ها مثل سرور پایگاه داده(dbms) و سرور پیام (messaging server)
بر قراری ارتباط با سایر اپلیکیشن سرور ها
مدیریت life-cycle اجزای مختلف نرم افزار شما

را به عهده دارد.

از طرفی Web server واسط بین یک یا چند application server با شبکه اینترنت است. از وظایف web server می توان به :
گوش کردن به پورت های از پیش تعریف شده برای دریافت درخواست (request) های کاربران
رمز گذاری(encription) در هنگام ارسال داده ها و رمز گشایی در هنگام دریافت یک درخواست
فشرده سازی داده ها در هنگام ارسال و استخراج داده های فشرده شده در هنگام دریافت
کنترل تعداد درخواست ها و کنترل زمان قابل صرف جهت بازگرداندن پاسخ به هر درخواست
توزیع درخواست های کاربران بین application-server ها و جمع آوری پاسخ از آنها

اشاره کرد.

نمونه هایی از Application Server :

WebSphere
WebLogic
JBoss
GlassFish
و …

همچنین نمونه هایی از Web Server:

apache
ngnix
lightspeed
aol web server

و …

درباره - یاشار اسمعیل دخت هستم ۲۷ سالمه (به دنیال یافتم آنم که کیستم)به صورت ۱۰۰٪ به گنو/لینوکس مهاجرت کردم . من رو با نام royaflash میشناسید . در زمینه شبکه و امنیت شبکه فعالیت میکنم . لینوکس همیشه چیزی برای یادگیری داره و لینوکس یه فرهنگه . در صورت نیاز میتونین با آدرس ایمیل : yashar@unixmen.ir یا شماره تلفن : 09141100257 در ارتباط باشید . وبلاگ شخصی من (-:) درباره من

فرستادن یک دیدگاه

XHTML: شما می‌توانید از این برچسب‌ها استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>