The Communication Sequence of an HTTP Request

To configure and run a Tomcat cluster, you need to set up more than just Tomcat. For example, you need to provide a facility so that requests coming into Tomcat are spread across multiple instances. This involves software that runs in addition to your Tomcat installations.

To identify the points in the system where clustering features may be implemented to distribute the requests, let's take a look at the steps of the average HTTP client request. Figure 10-1 shows a typical nonclustered server running Apache httpd, mod_proxy, and Tomcat. The figure shows the steps of one HTTP client's request through the system.

How one HTTP request uses a typical nonclustered server

Figure 10-1. How one HTTP request uses a typical nonclustered server

We show using mod_proxy for the connector module from Apache httpd to Tomcat because depending on how your web application is written, you may not need to use Apache httpd or mod_proxy to set up and use a Tomcat cluster. We show these components so that you can see how using them affects the HTTP request communication sequence and which types of clustering features you may want to use. If you use Apache httpd, httpd is your web server. If you use Tomcat standalone, Tomcat is your web server.

Any user's HTTP request to the server follows these steps:

  1. Local DNS request. The user's web browser attempts to resolve the web site's IP address from its name via a DNS lookup ...

Get Tomcat: The Definitive Guide, 2nd Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.