Jan K. Labanowski: "Tomcat, servlets, JSPs and other friends"

Application Server

Application server is an application which processes specific types of requests and runs perpetually as a daemon/service. It accepts requests from Web server via some communication protocol, and returns results back to the Web server. It is always up, and does not need to be started for each request. Application server does not have to run on the same computer as Web server. Moreover, there maybe many application servers running in parallel, and the load can be spread between them evenly (how do you think Search Engines run?).

For the  Web Server <-> Application Server  combo to work together, they need a communication protocol. The underlying technology used is usually TCP/IP (i.e., the Web Server and Application Server may, but need not be, on the same computer). In the communication protocol, the Web server is usually a client of the Application Server, since it is the Application Server which waits for the requests from Web Server, and returns results to the Web server. The specialized piece of Web server, which talks to Application server is usually called a  connector module .