In the process of learning the front end. Process to hear and see the Web server, HTTP server, application server, but always do not know what the difference between them, puzzled for a long time, today, many of the blog read, finally sort of comb through, I will summarize their differences, shun do not know some servers.
First we need to know that the Web server only supports HTTP protocols, HTML document formats, and URLs. The main function is to transfer the page so that the browser can browse, and because it mainly supports the HTTP protocol, so the Web server and HTTP server is usually equal. The popular Web server is designed to handle HTTP requests.
An application server can be referred to simply as an application server, and its primary function is to provide a callable method (application-provided (serves) business logic) for the client application.
In Java EE, for example, I mainly handle static pages and serve as servlet containers to interpret and execute servlet/jsp, while application servers run business logic.
With this definition, some common servers can be categorized, and IIS, Apache, and Tomcat belong to the Web server, and Weblogic and WebSphere belong to the application server. Here's a look at the main roles of these servers:
Apache
In the Web server, Apache is a purely Web server that is often paired with Tomcat. It has a powerful interpretation of HTML pages, but does not explain the server-side scripting code (Jsp/servlet) within the embedded page.
Tomcat
Early Tomcat was an jsp/servlet interpretation engine embedded in Apache, apache+tomcat equivalent to iis+asp (Dynamic Server Page). Later Tomcat is no longer embedded in Apache, and the Tomcat process runs independently of the Apache process. Furthermore, Tomcat is already a standalone servlet and JSP container, and the business Logic layer code and interface interaction layer code can be separated. So, someone called Tomcat a lightweight application server.
Iis
Microsoft's early IIS was a purely Web server. Later, it embeds an ASP engine that interprets VBScript and JScript server-side code, which can be used concurrently as an application server. In principle, it can be called an application server. To be exact, it is a Web server with a bit of application server functionality.
To the full extent of the complaint:
Apache is a purely Web server, and Tomcat and IIS have the ability to interpret server-side code as either a lightweight application server or a Web server with server functionality. Weblogic, WebSphere is undoubtedly the absolute application server because it can provide the powerful Java EE function. For Tomcat in the middle, it can be used with a pure Web server Apache, or as an application server to be deployed with the application server:
Differentiate between Web servers, HTTP servers, application servers