جهت تماس با کارشناسان فروش کلیک نمایید

موضوع مقاله :

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

شرح :

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

تصميم داريم اول معني وب سرور و سپس اپليکيشن سرور را براي شما توضيح دهيم سپس تفاوت‌هاي اين دو را بازگو نماييم.

وب سرور چيست؟

امروزه اطلاعات نقش بسيار مهمي را در دنياي ما ايفا مي‌کنند و انتقال بسياري از اين اطلاعات توسط اينترنت انجام مي‌شود. متداول‌ترين پروتکل که براي انتقال اطلاعات مورد استفاده قرار مي‌گيرد، پروتکل HTTP است. پروتکل HTTP پروتکلي سريع، قوي و با بار کم بر روي CPU و حافظه سرور طراحي شده است.
کاربران با استفاده از مرورگرهاي وب و پروتکل HTTP درخواست خود را مثلا براي دريافت يک صفحه‌ي وب، به سرور ارسال نموده و وب سرور نيز با ارسال صفحه وب خواسته شده يا پيغام خطايي مبني بر عدم امکان اجراي درخواست، به کاربر پاسخ مي‌دهد.
صفحات وب بر پايه يک ساختار مشخص و با يک نام واحد که همان آدرس IP است بر روي وب سرور قرار مي‌گيرند. لازم به ذکر است بر روي يک وب سرور امکان قرار گرفتن صفحات متعدد با ساختارهاي جداگانه وجود دارد.
در واقع يک وب سرور پروتکل HTTP را مديريت مي‌نمايد. زماني که وب سرور درخواستي را براي HTTP دريافت مي‌کند، با استفاده از HTTP response  به عنوان مثال با ارسال يک صفحهhtml  به آن پاسخ مي‌دهد.
جهت پردازش درخواست، وب سرور ممکن است با استفاده از HTML image يا HTML page ايستا، ارسال ريدايرکت پاسخ دهد يا توليد پاسخ دايناميک را به برنامه ديگري مثلCGI scripts, JSPs (JavaServer Pages), servlets, ASPs (Active Server Pages) يا تکنولوژي‌هاي سمت سرور ديگر واگذار مي‌نمايد.
به طور کلي وب سرور يک برنامه کامپيوتري است که مسئول پذيرفتن درخواست‌‌هاي http از کاربران مي‌باشد که همان مرورگرهاي وب هستند و پاسخ همان صفحات Html  را به همراه يک سري اطلاعات مانند ترکيبي از تصوير، ويديو و ديگر فايل‌ها به آن‌ها ارسال مي‌نمايد.
در هر صورت هدف چنين برنامه‌هاي سمت سروري، ارسال پاسخ جهت مشاهده سايت در مرورگر وب است. درک مدل واگذاري وب سرور ساده است. زماني که يک درخواست به وب سرور مي‌رسد، وب سرور آن درخواست را به برنامه‌اي ارسال مي‎کند که به بهترين نحو مي‌تواند آن را مديريت نمايد.
وب سرور هيچ عملکردي فراتر از ايجاد محيطي مناسب براي اجراي پاسخ‌هاي سمت سرور، ارائه نمي‌دهد. برنامه سمت سرور معمولاً عملکردهايي مانند پردازش تراکنش، اتصال بانک اطلاعاتي و پيام رساني را براي خود فراهم مي‌کند.
هنگامي که يک وب سرور از تراکنش‌ها يا ادغام اتصال به ديتابيس پشتيباني نمي‌کند، ممکن است از استراتژي‌هاي مختلفي براي تحمل خطا و مقياس پذيري مانند عمل کش، لود بالانسينگ و دسته‌بندي استفاده کند.
 

پرکاربردترين وب سرورها

 Apache
 GWS
 Oversee
 Lightspeed
 Nginx
 Microsoft IIS
 Lighttpd
از جمله معروف‌ترين وب سرورها، مي‌توان به وب سرور آپاچي Apache و IIS اشاره نمود.
 

ويژگي‌هاي وب سرور

در وب سرورها برخي از ابزارها به صورت پيش فرض نصب شده‌اند و وجود دارند. وب سرورها از زبان‌هاي برنامه نويسي گوناگوني پشتيباني مي‌نمايند. وب سرورها داراي ويژگي‌هاي مشترک زيادي با يک ديگر هستند. از جمله:
 پشتيباني از پروتکل HTTPS براي برقراري ارتباطي امن
 کنترل درخواست‌ها و پاسخ‌ها به منظور مديريت پهناي باند
 احراز هويت به گونه‌اي که قبل از اجازه دسترسي به منبع درخواستي کاربر، آن را شناسايي مي‌کند.
 اجازه دسترسي و مديريت عناصر استاتيک و ديناميک: نه تنها اجازه دسترسي به منابع استاتيک (مانند محتويات فايل‌ها که بر روي سيستم فايلي وجود دارد) را به کاربر مي‌دهد، بلکه مفاهيم دايناميک را با يک يا چند ساختار نيز مانند SI و GI ,CGI ,FastCGI ,JSP ,PHP ,ASP ,ASP.NET اداره مي‌کند.
 فشرده‌?سازي مطالب با استفاده از تکنولوژي GZIP به منظور کم کردم حجم پاسخ‌ها
 کنترل پهناي باند تابدين طريق از سرعت پاسخ‌ها کاسته و همچنين از ترافيک و ازدحام شبکه جلوگيري نمايند. در اين صورت وب سرورها قادر به پاسخگويي به کاربران بيشتري خواهند بود.
 پشتيباني از فايل‌هاي بزرگ تا بتواند فايل‌هاي بزرگ‌تر از 2 گيگابايت را سرويس‌دهي کند.
 

اپليکيشن سرور چيست؟

اپليکيشن سرور مسئوليت سرويس‌دهي به برنامه‌ها و يا نرم افزارهاي کاربردي را در شبکه بر عهده دارد. اپليکيشن سرور مي‌تواند نرم افزار و يا سخت افزار بوده و غالبا براي سرويس‌دهي به برنامه‌هاي تحت وب طراحي مي‌شود. اپليکيشن سرورها صرفا براي انتقال اطلاعات درخواستي به کاربرها کاربرد دارد و به همين جهت اين ابزارها داراي رابط گرافيکي نمي‌باشند.
اين نوع سرور بصورت مجموعه‌اي از اجزا عمل مي‌نمايد که توسعه‌دهنده نرم‌افزار از طريق يک API که بوسيله خودِ پلتفرم تعريف شده، آن را پردازش مي‌کند. اين اجزا معمولأ در محيطي مشابه با وب سرورها براي وب اپليکيشن‌ها اجرا مي‌شوند که وظيفه اصلي آن‌ها پشتيباني از ساخت صفحات پويا است.
اپليکيشن سرور، در واقع سروري است که به اجراي يک سري برنامه‌هاي نرم افزاري خاص اختصاص يافته است و کاربران از روي کامپيوترهاي خود مي‌توانند به نرم افزارها دسترسي داشته باشند. در واقع اين نرم افزارهاي کاربردي هيچ‌گونه رابط گرافيکي نداشته و فقط براي ارائه داده‌ها و اطلاعات به کاربرها مورد استفاده قرار مي‌گيرند.
اپليکيشن سرور مشابه ديتابيس سرور است.ديتابيس سرور به طور متمرکز روي سرور قرار دارد و هر کاربري بر روي کامپيوتر شخصي خود نرم افزار را نصب مي‌کند. اما در اپليکيشن سرور نرم افزار تنها بر روي خود سرور نصب مي‌گردد. کاربران يک برنامه تحت وب با استفاده از اين نوع از سرور، نيازي به نصب اپليکيشن روي کامپيوتر شخصي خود ندارد و تمام عمليات مورد نياز به صورت تحت وب انجام مي‌شود.
اپليکيشن سرور، از طريق پروتکل‌هاي مختلف از جمله HTTP، منطق تجارت را در اختيار برنامه‌هاي کاربر قرار مي‌دهد. مادامي که وب سرور عمدتا با ارسال HTML جهت نمايش در مرورگر وب سروکار دارد، اپليکيشن سرور دسترسي به منطق تجارت را براي استفاده برنامه‌هاي کاربر ايجاد مي‌نمايد که برنامه کاربردي مي‌توانند از اين منطق استفاده نمايد.

 

پرکاربردترين اپليکيشن سرورها

 WebSphere
 WebLogic
 JBoss
 GlassFish
 Mobicent
 

ويژگي‌هاي اپليکيشن سرور

 اجراي کتابخانه‌ها و سرويس‌هاي نرم افزار کاربر
 دريافت منابع سيستمي از سيستم عامل و مهيا کردن آن‌ها براي کاربر و ساير سيستم‌هايي که ممکن است همزمان روي آن در حال اجرا باشند.
 برقراري ارتباط سيستم کاربر با ساير سرورها مثل سرور پايگاه داده dbms و سرور پيام‌رساني(messaging server)))
 
 برقراري ارتباط با ساير اپليکيشن سرورها
 مديريت چرخه اجزاي مختلف نرم افزار کاربر

 
مطالب بيشتر : وظيفه نرم افزار Wamp Server چيست؟

تفاوت وب سرور و اپليکيشن سرور

يک web server منحصرا درخواست‌هاي HTTP را مديريت مي‌نمايد. در حالي که application server از طريق تعدادي پروتکل، business logic را براي برنامه‌هاي کاربردي به کار مي‌برد.
اپليکيشن سرورها و وب سرورها موارد استفاده و تشابه‌هايي در عملکرد دارند. وظيفه وب سرور، گرفتن اطلاعات از داده‌هاي ارائه شده توسط اپليکيشن سرور است و در کنار آن وب سرور اطلاعات دريافت شده را در اختيار کاربران قرار مي‌دهد. در واقع يکي اطلاعات را ايجاد نموده و ديگري اطلاعات را سرويس‌دهي و نشان مي‌دهد. اما هر کدام از آن‌ها مي‌توانند به تنهايي نيز کار کنند و الزامي به وجود هر دوي آن‌ها بر روي يک سرور نمي‌باشد.
وب‌سرورهايي که داراي محتوا و صفحات استاتيک هستند نيازي به داشتن اپليکيشن سرور ندارند و همچنين اپليکيشن‌هايي که اصلا رابط گرافيکي ندارند و توسط نرم افزارهاي تحت شبکه سرويس‌دهي مي‌نمايند نيز نيازي به داشتن وب سرور ندارند. در ادامه به برخي از تفاوت‌هاي اين دو نوع سرور اشاره شده است:
با بررسي ويژگي‌ها و تفاوت Webserver و Application server مي‌توانيد فرآيند عملکرد سايت خود را بهتر درک کرده و به هنگام خريد هاست يا سرور خود به نوع وب سرور قابل ارائه بر روي آن سرويس، توجه کافي داشته باشيد.
افيکس هاست نيز با ارائه وب سرور لايت اسپيد بر روي سرور مجازي خود، امکان بهره‌وري از اين وب سرور پرسرعت را فراهم آورده‌است. هم‌اکنون با خريد VPS با وب سرور لايت اسپيد، سرعت و کيفيت بالايي را براي کسب و کار خود رقم بزنيد.


Application Server:

شامل web container و EJB container مي‌باشد.
منابع بيشتري را استفاده مي‌نمايد
محيط اجرايي را براي enterprises application ها فراهم مي‌سازد.
از Multithreading پشتيباني مي‌شود.
ظرفيت بيش‌تري نسبت به وب سرور دارد.
پروتکل‌هاي GUI و HTTP ,RPC/RMI استفاده مي‌گردد.

Web Server :

پروتکل‌هاي HTML ,HTTP مورد استفاده است.
تنها شامل web container مي‌باشد.
مناسب محتواي استاتيک است.
منابع کم‌تري را مصرف مي‌نمايد.
محيط اجرايي را براي وب اپليکيشن فراهم مي‌سازد.
از Multithreading پشتيباني نمي‌شود.
ظرفيت کم‌تري نسبت به اپليکيشن سرور دارد.




  ساير خدمات شرکت طراحي سايت بهپردازان
طراحي سايت فروشگاهي
طراحي اپليکيشن موبايل