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 .