An application server creates data for a Web server - as, collecting data from databases, processing security checks, applying relevant business programs, and/or storing the state of a user's session. The term application server can be misleading since the programming isn't limited to applications. Its role is more as manager and retriever of data and processes used by anything executing on a Web server. In the coming age of Web services, application servers will probably have an even more wiled role in managing service oriented elements. One of the reasons for using an application server is to improve service by off-loading tasks from a Web server. When heavy traffic has more transactions, more users, more data, and more security checks then more likely a Web server goes a bottleneck.
Supports HTTP protocol. When a Web server gets an HTTP request, it responds with an HTTP reaction, such as sending back an delegates or HTML page the dynamic response generation to some other program such as CGI Servlets or scripts or JSPs in an application server.
Exposes dynamic content and business logic to a client through various protocols such as HTTP, TCP/IP, IIOP, JRMP etc.
Uses several scalability and fault-tolerance techniques.
Uses various scalability and fault-tolerance techniques. In addition gives resource pooling, transaction management, component life cycle management, messaging, security etc.