| 
 | 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 KozierokAuthor 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! |  
|  | 
 | 
 
 
 Home - 
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.
 |