In A Server environment we frequently listen about a web server and app server . Once we know what is it and the purpose of it it is easier to differentiate and understand .
- 1. It is not mandatory for every application to have a Web Server in it Architecture
- 2. If the Application is internet facing then it is recommended to have a Web Server for landing page . So all the PEN Test issues related to security will be easily addressed here .
- 3.If some one is using an App Server software from ABC vendor then Web Server is generally free of License .Example if We use IBM WebSPhere Application server then IBM Https server is free to use behind the Application server .
- 4. For cross Vendor use need to purchase the License .
In general for a 3 tire architecture Request flow like below
Browser –> SLB –> WebServer’s –> APp Server’s –> Data Base
No of WebServer and AppServer can be 2 or More for a High Availability Environment .
What Is a Web Server?
A web server is usually a kind of software program that is designed to handle all of your web requests. The server is created to accept only the static contents such as HTML pages, video files, images, and much more in the form of incoming requests. After getting requested, the web server responds to the requests over the HTTP protocol with other optional data contents.
The web server is serving all the contents of the World Wide Web and make them accessible to its end users. This refers to a kind of system that consists of both software and hardware web contents as per the end-users.
In simple terms, the webserver is a computer that delivers web pages when they are requested for accessing the content by the end-users. Apache fulfills this approach in current days as it is the most popularly and widely used open-source web server developed and fully maintained by the Apache Software Foundation.
What Is an Application Server?
The application server is frequently mistaken for the webserver and that as though they offer same administrations however in all actuality, it utilizes different techniques to process the majority of the applications which are started by the webserver.
This permits to have and convey top of the line business applications that are comprising of a 3-level application Graphical User Interface(GUI) which incorporates exchange server, a database, and an application server.
The primary purpose of the application server is to serve the right business logic to the mobile app programs using variant protocols that include HTTP. Be sure that it is not restricted to do the same. Being a software framework that facilitates both web-based and enterprise-based applications, it does not only serve the static content but also suited for serving the dynamic content and application transfer from one device to another.
We will see some of the main differences on the below table .
|Web Server contains Web container only.
|Application Server contains Web Container plus EJB Container.
|A web server is good in case of static contents like static html pages.
|Applcation server is relevant in case of dynamic contents like bank websites.
|Web server consumes less resources like CPU, Memory etc. as compared to application server.
|Application server utilizes more resources.
|Web Server provides the runtime environment for web applications.
|Application server provides the runtime environment for enterprise applications.
|Multithreading is not supported.
|Multithreading is supported.
|Web Server supports HTTP Protocol.
|Application Server supports HTTP as well as RPC/RMI protocols.
|It can act as Load balancer for all the back end Application server
|Application server itself will not have that feature .
|Majority of HTTP methods are directly controlled from Web Server configuration like TRACE
|Will not have controls on all types of Application server
Oracle Application server