Difference between application server and web server?
Asked Answered
P

4

8

May I know the differences between application servers and web servers? Please list examples of each.

Pentacle answered 2/1, 2010 at 20:3 Comment(1)
Possible duplicate of What is the difference between application server and web server?Gazelle
U
7

A 'web server' is generally any server program which serves content using the http (or https) protocols. These servers tend to listen on specific ports (80, or 443). The clients for these are generally web browsers like Chrome, Firefox or Internet Explorer.

Examples of web servers: Apache, Microsoft IIS

'Application server' is a far more fuzzy, less well defined term. It could refer to any program providing responses to client requests for a given application.

In the context of webserving, an 'application server' tends to refer to a higher level framework used to generate dynamic content. This could be some kind of container, within which you can deploy a particular 'web application'. Examples would include Apache Tomcat, WebSphere, JBoss etc.

In both cases, the term could also refer to the machine hardware which hosts software to do these things.

Urban answered 2/1, 2010 at 20:22 Comment(1)
IIS is also an app server, for ASP.NET.Mercury
D
2

web server is a container for simple operations like servlet/jsp container. application server is a container like web server but add more operations than web server like transactions manager, data source, clustering, load balance, messaging ,and others complicated business operations .

web server like apatche tomcat.

application server like jboss, glassfish, web sphere, oracle application server.

Dastard answered 2/1, 2010 at 20:14 Comment(4)
I disagree. A Web Server is just a specific form of Application Server.Avocet
aim agree that web server is a special edition from application server. web server is lightweight container and application server is heavyweight container cause contains many services and containers like jsp/servler and ejb container and other services .Dastard
@bassem: That doesn't really make a lot of sense.. Firstly, a webserver is not a 'lightweight container'. Some webservers are more lightweight than others. lighttpd is a minimal, small-footprint, fast webserver, for example. Apache could not be called lightweight. Secondly - the term is 'Application Server' is very generic. It means different things depending on who you ask.Urban
should be web server like apache .Vallery
A
0

A web server can sometimes act as an application server (for example, when it hosts web services). However, an application server does not have to be implemented as a web server. It can just listen on tcp sockets and act accordingly

Anamorphosis answered 2/1, 2010 at 20:12 Comment(0)
E
-2

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.

Understand that a Web server's delegation model is fairly simple. 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

As for the application server, according to our definition, 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.

Endorsee answered 10/10, 2014 at 5:17 Comment(1)
Did you copy this response word for word from javaworld.com/article/2077354/learn-java/… and not give any credit?Eta

© 2022 - 2024 — McMap. All rights reserved.