Please Whitelist This Site?
I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)
If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.
If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.
Thanks for your understanding!
Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide
NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.
HTTP Operational Model and Client/Server Communication
(Page 2 of 3)
Intermediaries and The HTTP Request/Response Chain
The simple request/response pair
between a client and server becomes more complex when intermediaries
are placed in the virtual communication path between the client and
server. These are devices such as proxies, gateways or
tunnels that are used to improve performance, provide security
or perform other necessary functions for particular clients or servers.
Proxies are particularly commonly used on the Web, because they can
greatly improve response time for groups of related client computers.
When an intermediary is involved
in HTTP communication, it acts as a middleman. Rather than
the client speaking directly to the server and vice-versa, they each
talk to the intermediary. This allows the intermediary to perform functions
such as caching, translation, aggregation, or encapsulation. For example,
consider an exchange through a single intermediary device. The two-step
communication process above would become four steps:
- Client Request: The HTTP client
sends a request message to the intermediary device.
- Intermediary Request: The intermediary
processes the request, making changes to it if necessary. It then forwards
the request to the actual server.
- Server Response: The server
reads and interprets the request, takes appropriate action and then
sends a response. Since it received its request from the intermediary,
its reply goes back to the intermediary.
- Intermediary Response: The intermediary
processes the request, again possibly making changes, and then forwards
it back to the client.
As you can see, the intermediary
acts as if it were a server from the client's perspective, and as a
client from the server's viewpoint. Many intermediaries are designed
to be able to intercept a variety of TCP/IP protocols, by
posing as the server to a client and the client to a server.
Most protocols are unaware of the existence of the interposition of
an intermediary in this fashion. HTTP, however, includes special support
for certain intermediaries such as proxy
servers, providing headers that control
how intermediaries handle HTTP requests and replies.
It is possible for two or more intermediaries
to be linked together between the client and server. For example, the
client might send a request to intermediary 1, which then forwards to
intermediary 2, which then talks to the server; see Figure 316.
The process is reversed for the reply. The HTTP standard uses the phrase
request/response chain to refer collectively to the entire set
of devices involved in an HTTP message exchange.
Figure 316: HTTP Request/Response Chain Using Intermediaries
Instead of being connected directly, an HTTP client and server may be linked using one or more intermediary devices such as proxies. In this example, two intermediaries are present. The HTTP Request sent by the client will actually be transferred three times: from the client to the first intermediary, then to the second, and finally to the server. The HTTP Response will likewise be created once but transmitted three distinct times. The full set of devices participating in the message exchange is called the request/response chain.
Key Concept: The simple client/server operational model of HTTP is complicated when intermediary devices such as proxies, tunnels or gateways are inserted in the communication path between the HTTP client and server. HTTP/1.1 is specifically designed with features to support the efficient conveyance of requests and responses through a series of steps from the client through the intermediaries to the server, and back again. The entire set of devices involved in such a communication is called the request/response chain.
|If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!|
Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.