In this section we will learn the difference between Web Server and Application Server. Web Server handles HTTP and HTTPS request and response while the Application server allows business logic to client through various protocols like HTTP, TCP-IP etc.
Web Server generates a response generally in HTML to process a request and for viewing in a Web browser. Web server responds to a request with a static HTML page or image, send or redirect, or delegate the dynamic response generation to some other program.
An application server are designed to run business logic or dynamically generating presentation code. A J2EE application server runs servlets and JSPs that are used to create HTML pages dynamically. For example, J2EE application server can run EJBs (Enterprise Java Beans) which are used to execute business logic.
Web Server has one container: Web Container used to execute web applications. On the other hand, Application Server has two containers: Web Container and EJB container.
Web server provides an environment in which the server side program can execute and pass back the generated responses.
An application server is more capable of dynamic behavior than Web server.
Web server is used to create HTML pages only while Application server provides methods that client applications can call.
Application server is superset of webserver