Difference between Application server and web server?

Posted on 2006-05-18
Last Modified: 2010-03-31
What is the difference between web server and application server? I work on Java technology so the answer should be with respect to Java language.
Question by:pradeep_brat
    LVL 30

    Expert Comment

    Web server is merely a server for hosting web resources like HTML web pages, images, etc. A Java web-server would typically also have a servlet-container so that it can host JSPs and servlets. An application-server will be a bundle for an entire J2EE application which can host servlets, EJBs, etc
    LVL 30

    Accepted Solution

    LVL 3

    Assisted Solution

    This might help!!

    The Web server
    A Web server handles the HTTP protocol.
    When the Web server receives an HTTP request, it responds with an HTTP response, such as sending back an HTML page.

    To process a request, a Web server may respond with a static HTML page or image, send a redirect, or delegate the dynamic response generation to some other program such as CGI scripts, JSPs (JavaServer Pages), servlets, ASPs (Active Server Pages), server-side JavaScripts, or some other server-side technology. Whatever their purpose, such server-side programs generate a response, most often in HTML, for viewing in a Web browser.

    The delegation model is when a request comes into the Web server, the Web server simply passes the request to the program best able to handle it.

    The Web server doesn't provide any functionality beyond simply providing an environment in which the server-side program can execute and pass back the generated responses.

    The server-side program usually provides for itself such functions as transaction processing, database connectivity, and messaging.

    While a Web server may not itself support transactions or database connection pooling, it may employ various strategies for fault tolerance and scalability such as load balancing, caching, and clustering—features oftentimes erroneously assigned as features reserved only for application servers.

    The application server

    An application server exposes business logic to client applications through various protocols, possibly including HTTP.

    While a Web server mainly deals with sending HTML for display in a Web browser, an application server provides access to business logic for use by client application programs.

    The application program can use this logic just as it would call a method on an object (or a function in the procedural world).

    Such application server clients can include GUIs (graphical user interface) running on a PC, a Web server, or even other application servers.

    The information traveling back and forth between an application server and its client is not restricted to simple display markup. Instead, the information is program logic. Since the logic takes the form of data and method calls and not static HTML, the client can employ the exposed business logic however it wants.

    In most cases, the server exposes this business logic through a component API, such as the EJB (Enterprise JavaBean) component model found on J2EE (Java 2 Platform, Enterprise Edition) application servers. Moreover, the application server manages its own resources. Such gate-keeping duties include security, transaction processing, resource pooling, and messaging. Like a Web server, an application server may also employ various scalability and fault-tolerance techniques.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How your wiki can always stay up-to-date

    Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
    - Increase transparency
    - Onboard new hires faster
    - Access from mobile/offline

    Suggested Solutions

    After being asked a question last year, I went into one of my moods where I did some research and code just for the fun and learning of it all.  Subsequently, from this journey, I put together this article on "Range Searching Using Visual Basic.NET …
    Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
    Viewers will learn about if statements in Java and their use The if statement: The condition required to create an if statement: Variations of if statements: An example using if statements:
    Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

    779 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    17 Experts available now in Live!

    Get 1:1 Help Now