HTTP messages are the blocks of data sent between HTTP applications. These blocks of data begin with some text meta-information describing the message contents and meaning, followed by optional data. These messages flow between clients, servers, and proxies. The terms "inbound," "outbound," "upstream," and "downstream" describe message direction.

Messages Commute Inbound to the Origin Server

HTTP uses the terms inbound and outbound to describe transactional direction. Messages travel inbound to the origin server, and when their work is done, they travel outbound back to the user agent (see Screenshot 3-1).

Messages travel inbound to the origin server and outbound back to the client
Messages travel inbound to the origin server and outbound back to the client
(Screenshot 3-1.)

Messages Flow Downstream

HTTP messages flow like rivers. All messages flow downstream, regardless of whether they are request messages or response messages (see Screenshot 3-2). The sender of any message is upstream of the receiver. In Screenshot 3-2, proxy 1 is upstream of proxy 3 for the request but downstream of proxy 3 for the response.

The terms "upstream" and "downstream" relate only to the sender and receiver. We can't tell whether a message is heading to the origin server or the client, because both are downstream.

All messages flow downstream
All messages flow downstream
(Screenshot 3-2.)

 


Hypertext Transfer Protocol (HTTP)