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.
 
| 
 Web Server 
 | 
 Application   Server 
 | 
| 
 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. 
 |