This chart* perfectly captures different features of App Servers versus Web Servers:
|Application Server||Web Server|
|What is it?||A server that exposes business logic to client applications through various protocols including HTTP.||A server that handles HTTP protocol.|
|Job||Application server is used to serve web based applications and enterprise based applications(i.e servlets, jsps and ejbs…). Application servers may contain a web server internally.||Web server is used to serve web based applications.(i.e servlets and jsps)|
|Functions||To deliver various applications to another device, it allows everyone in the network to run software off of the same machine.||Keeping HTML, PHP, ASP, etc files available for the web browsers to view when a user accesses the site on the web, handles HTTP requests from clients.|
|Supports||distributed transaction and EJB’s||Servlets and JSP|
Question: Apache Tomcat is a Web Server or an Application Server?
Answer: Tomcat is a web server (can handle HTTP requests/responses) and web container (implements Java Servlet API, also called servletcontainer) in one. Some may call it an application server, but it is definitely not an fullfledged Java EE application server (it does not implement the whole Java EE API).**