Several common Web servers

Source: Internet
Author: User
Tags websphere application server microsoft iis

The difference between Apache and Tomcat, several common web/application servers

Apache is a Web server environment program enabled he can use as a Web server but only support static web pages such as (asp,php,cgi,jsp) Dynamic Web page is not

If you want to run the JSP in the Apache environment, you need an interpreter to execute the JSP Web page and this JSP interpreter is Tomcat, why do you want the JDK? Since the JSP needs to connect to the database, the JDK is required to provide the drive to connect to the database, so the Web server platform to run the JSP needs APACHE+TOMCAT+JDK

The benefits of consolidation are:

If the client is requesting a static page, only the Apache server responds to the request

If the client requests a dynamic page, the Tomcat server responds to the request

Because JSP is a server-side interpretation code, consolidation can reduce the service overhead of Tomcat

============================ several common Web server ===============================

①microsoft IIS

Microsoft's Web server product is Internet Information Server (IIS), which is a Web server that allows information to be published on the public intranet or the Internet. IIS is one of the most popular Web server products, and many well-known sites are built on the IIS platform. IIS provides a graphical interface for administrative tools, called Internet Service Manager, that you can use to monitor configuration and control Internet services.


IIS is a Web services component that includes Web servers, FTP servers, NNTP servers, and SMTP servers for Web browsing, file transfer, news services, and mail delivery, which makes it easy to publish information on the network, including the Internet and local area networks. It provides an ISAPI (Intranet server API) as a programming interface for extending Web server functionality, and it also provides an Internet database connector that enables queries and updates to the database.


②IBM WebSphere

WebSphere Application Server is a fully functional, open Web application server that is a core part of the IBM e-Business plan and is a Java-based application environment for building, deploying, and managing the Internet and Intranet Web Application. This complete set of products has been scaled to fit the needs of WEB application servers, ranging from simple to advanced to enterprise level.


WebSphere is for Web-centric developers who have grown up on basic HTTP servers and CGI programming techniques. IBM will provide the WebSphere product family to help these users move from simple WEB applications to the e-commerce world by providing comprehensive resources, reusable components, powerful and easy-to-use tools, and a scalable runtime environment that supports HTTP and IIOP communications.

③bea WebLogic Server

Is the world's first Web application server, providing a solid foundation for enterprises to build their own applications. Various applications develop and deploy all critical tasks, whether integrating systems and databases, submitting services, and collaborating across the Internet, starting with BEA WebLogic Server. Because of its comprehensive capabilities, compliance with open standards, multi-tiered architectures, and support for component-based development, Internet-based enterprises have chosen it to develop and deploy the best applications.


BEA WebLogic Server continues to be a leader in making application servers the foundation of enterprise application architectures. BEA WebLogic Server provides a solid foundation for building integrated enterprise-class applications that share information, deliver services, and collaborate automatically with the capacity and speed of the Internet, across a network of connected enterprises. BEA WebLogic Server's compliance with Java EE, service-oriented architecture, and rich toolset support facilitates the separation of business logic, data and expression, and provides the underlying core capabilities necessary to develop and deploy a wide range of business-driven applications.


④iplanet Application Server

iplanet application Server, a iplanet company produced by Sun and Netscape Alliance products, meets the requirements of the latest Java EE specifications. It is a complete Web server application solution that allows organizations to develop, deploy, and manage mission-critical Internet applications in a convenient way. The solution combines high performance, high scalability, and high availability to support a large number of transactions with multiple client types and data sources.


The basic core services of IPlanet Application server include transaction monitors, multi-load balancing options, full support for clustering and failover, integrated XML parsers and extensible Format Language Conversion (XLST) engines, and comprehensive support for internationalization. IPlanet Application Server Enterprise Edition provides all the features and functionality, and benefits from the Java EE system architecture, with better business workflow management tools and application integration capabilities.


⑤oracle IAS

Oracle IAS is the English name for Oracle Internet Application Server, an Internet application server, and Oracle IAS is a Java-based application server that integrates with products such as Oracle database, Oracle IAS is able to meet the reliability, availability, and scalability requirements of Internet applications.


The largest advantage of Oracle IAS is its integration and versatility, which is an integrated, generic middleware product. In terms of integration, Oracle IAS integrates the industry's most popular HTTP server Apache into the system, and the Oracle IAS Communications Service layer integrates with Apache to handle a wide range of customer requests, including requests from Web browsers, rich clients, and handheld devices. And according to the specific content of the request, they are distributed to different application services for processing. In terms of versatility, Oracle IAS supports a wide range of industry standards, including JavaBeans, CORBA, Servlets, and XML standards, and this comprehensive support for standards makes it easy to port applications developed on other system platforms to Oracle platforms.



Apache originates from the NCSAHTTPD server and has been modified many times to become one of the most popular Web server software in the world. Apache is free software, so there are people who are constantly developing new features, new features, and changes to their original flaws. Apache is characterized by simple, fast, stable performance, and can be used as a proxy server. Originally it was used only for small or experimental internet networks, and later gradually expanded to a variety of UNIX systems, especially Linux support is quite perfect.


Apache is a process-based structure that consumes more system overhead than threads, and is less suited to multiprocessor environments, so when you scale an Apache Web site, you typically increase the server or expand the cluster nodes instead of adding the processor. So far, Apache is still the world's most used Web server, many of the world's most famous sites are the product of Apache, its success lies mainly in its source code open, has an open development team, supporting cross-platform applications (can run on almost all UNIX, Windows, Linux system platforms) and its portability.



Tomcat is a Java-based Web application container that is open source, running Servlets, and JSP Web application software. Tomcat server is executed according to the servlet and JSP specifications, so we can say that Tomcat server also implements the Apache-jakarta specification and is better than most commercial application servers.


Tomcat is a standard implementation of Java Servlet 2.2 and JavaServer Pages 1.1 technology and is a free software developed under the Apache license. Tomcat is a fully rewritten servlet API 2.2 and JSP 1.1 compatible servlet/jsp container. Tomcat uses some code from Jserv, especially the Apache service adapter. With the advent of the Catalina Servlet engine, the performance of the Tomcat fourth version has been improved, making it a worthwhile servlet/jsp container, so many Web servers are now using Tomcat.

The difference between a Web server and an application server

In layman's words, Web server delivery (serves) pages allow the browser to browse, whereas the application server provides a method (methods) that the client application can invoke (call). To be exact, you can say that the Web server is dedicated to HTTP requests (request), but the application server is providing (serves) business logic for the application through a number of protocols.

Let us come to the following way:

Web servers (Web server)

The Web server can parse the (handles) HTTP protocol. When the Web server receives an HTTP request (request), it returns an HTTP response (response), such as sending back an HTML page. In order to process a request, the Web server can respond (response) to a static page or picture, perform a page jump (redirect), or delegate the generation of dynamic Responses (response) (delegate) Give some other programs such as CGI scripts, JSP (JavaServer Pages) scripts, servlets,asp (Active server Pages) scripts, server-side (server-side) JavaScript, or some other server-side (server-side) technology. These server-side (server-side) programs typically produce an HTML response (response) to allow the browser to navigate, regardless of the purpose of their (translator's note: script).

You know, the Web server's proxy model (delegation models) is very simple. When a request is sent to the Web server, it simply passes the request to the program that can handle the request (the Translator note: server-side script). The Web server simply provides an environment that can perform server-side (server-side) programs and return (program-generated) responses (response) without exceeding the scope of the function. Server-side (server-side) programs typically have features such as transaction processing (transaction processing), database connection (DB connectivity), and messages (messaging).

Although the Web server does not support transaction processing or database connection pooling, it can configure (employ) various policies (strategies) for fault tolerance (fault tolerance) and extensibility (scalability), such as load balancing balancing), buffered (caching). Cluster features (clustering-features) are often mistaken for only the proprietary features of the application server.

Application Server (the application server)

According to our definition, as an application server, it exposes commercial logic to (expose) client applications through various protocols that can include HTTP. The Web server primarily handles sending HTML to the browser for browsing, and the application server provides access to business logic for use by client applications. The application uses this business logic just as you would call a method of an object (or a function in a procedural language).

The client of the application server (which contains a graphical user interface (GUI)) may run on a PC, a Web server, or even other application servers. The information that travels back and forth between the application server and its clients (traveling) is not limited to simple display tags. Instead, this information is the program logic. It is this logic that makes the takes data and method calls (calls) rather than static HTML, so that the client can use the exposed business logic as it pleases.

In most cases, the application server exposes the business logic (expose) (to the client application) through the component (component) application interface (API), for example, based on the Java 2 Platform, Enterprise Edition ) The EJB (Enterprise JavaBean) component model of the application server. In addition, the application server can manage its own resources, such as looking at the work of the Gate (gate-keeping duties) including security, transaction processing (transaction processing), resource pool (resource pooling ), and messages (messaging). Like Web servers, application servers are configured with a variety of extensible (scalability) and fault tolerant (fault tolerance) technologies.

An example

For example, imagine an online store (website) that provides real-time pricing (real-time pricing) and validity (availability) information. This site is likely to provide a form that allows you to select products. When you submit a query, the site searches (lookup) and returns the results inline in an HTML page. Web sites can be implemented in a number of ways. I want to describe a scenario that does not use an application server and a scenario that uses an application server. Looking at the differences between the two scenarios will help you understand the functionality of the application server.

Scenario 1: A Web server without an application server

In such a scenario, a Web server independently provides the functionality of the online store. The Web server obtains your request and then sends it to the server-side (server-side) program that can process the request. This program looks for pricing information from a database or text file (flat file, translator Note: Flat files refers to non-binary documents that have no special format, such as properties and XML files, etc.). Once found, the server-side (server-side) program represents the resulting information in the form of (formulate) HTML, and the last Web server sends it to your Web browser.

In short, the Web server simply handles HTTP requests (request) via the response (response) HTML page.

Scenario 2: A Web server with an application server

Scenario 2 and Scenario 1 are the same as a Web server or a response (response) generation Delegate (delegates) to the script (translator Note: server-side (server-side) program). However, you can put the business logic of the lookup pricing on the application server. Because of this change, this script simply invokes the application server's lookup service (lookup services) instead of knowing how to find the data and then represent (formulate) a response (response). When the script generates an HTML response (response), it can use the return result of the service.

In this scenario, the application server provides (serves) the business logic for querying the pricing information for the product. This feature (functionality) does not indicate details about how the display and the client can use this information, whereas the client and application servers simply send data back and forth. When a client invokes the lookup service of an application server, the service simply finds and returns results to the client.

The pricing (lookup) logic is more reusable in the application by separating it from the code that generates (response-generating) HTML. Other clients, such as the cash register, can also call the same service to checkout the customer as a clerk. Instead, the pricing lookup service in Scenario 1 is not reusable because the information is embedded in the HTML page.

All in all, in the model of Scenario 2, the Web server handles HTTP requests (request) by responding to HTML pages, while the application server provides application logic by processing pricing and validity (availability) requests (request).

Warning (caveats)

Now, XML Web Services has confused the boundaries of application servers and WEB servers. By transmitting an XML payload (payload) to the server, the Web server can now handle data and response (response) as much as the previous application server.

In addition, most application servers now contain Web servers, which means that Web servers can be treated as a subset of application servers (subset). Although the application server contains the functionality of the Web server, developers rarely deploy the application server (deploy) to this function (capacity) (Translator Note: This function refers to both the functionality of the application server and the functionality of the Web server). Conversely, if required, they will typically have a Web server configured independently, and the application server is one after the other. This separation of functionality helps improve performance (simple Web requests (request) Do not affect application servers), separate configurations (dedicated Web servers, clusters (clustering), and so on), and give the best product selection leeway.


Several common Web servers

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.