If there’s one thing that made load balancing and web servers in general “click” with me, and make it much simpler to troubleshoot, it’s this: See the world like a load balancer. We see web pages, page layouts, “page cannot be displayed” errors, and menus. But your load balancer/web server doesn’t see any of this. In fact, they only see one thing. HTTP messages.
In the networking realm, there is the concept of PDUs, or Protocol Data Units. These are the discreet messages for a particular protocol.  Every protocol has them. In Layer 2, the Ethernet protocol has the Ethernet Frame, and for Layer 3 the IP protocol has the IP packet, just to name a few examples.  Each of theses PDUs have their own format.
For the HTTP protocol, which operates on Layer 7, we also have a PDU: The HTTP message. HTTP messages are further divided into two categories: HTTP requests and responses.
When your browser wants an object, such as an JPG or HTML file, it must make a properly formatted HTTP request. The server responds with an HTTP object. One object equals one request plus one response. Typically the response includes the object, although sometimes the response says simply “file not found” (HTTP 404), “object moved” (HTTP 301 or 302), or even “access denied” (HTTP 400), among others.
But the thing to keep in mind is that every object, which is to say every JPG, HTML, Flash, CSS, MPEG, every individual file, will require its own HTTP request and will generate an HTTP response from the server. A web page consisting of 10 objects will require 11 HTTP requests: One for the HTML page itself, and 10 additional requests to pull all of the objects referenced in the HTML.
In the next post, we’ll discuss some tools you can use to troubleshoot HTTP requests and responses.

