Via headers provide useful information about intermediate routers that can be used in network analysis and troubleshooting.
The Via header, configured in an HTTP profile, provides information about each intermediate router that forwards a message. Intermediate routers between a client and an origin web server use the Via header to indicate intermediate protocols and recipients. This information can be used for the following tasks:
The Via header, configured in an HTTP profile, concatenates information for each router in a response or request, separated by commas. For example, the following Via header includes two routers, with each router comprising the required protocol and address:
Via: 1.1 wa.www.siterequest1.com, 1.1 wa.www.siterequest2.com
When a client initiates a request with a Via header to an origin web server, the origin web server returns a response with a Via header often following a similar path. For example, a Via header router sequence for the request would be 1, 2, 3, and the router sequence for the client's response would be 3, 2, 1.
The inverse is true when an origin web server initiates a response with a Via header to a client. For example, a Via header router sequence for a response would be 1, 2, 3, and the router sequence for the client's request would be 3, 2, 1.
You can identify specific protocols and versions of protocols for intermediate routers by using a Via header, configured in an HTTP profile. When a client sends a request to an origin web server, the header information is concatenated for each intermediate router, including the protocol type (if different from HTTP) and version.
The Via header includes both required and optional protocol information about each router, as follows:
The HTTP protocol name is optional; however, other protocol names are required.
The protocol version of the message is required, which for HTTP is 1.0, 1.1, and so on.
The host name is required. For privacy purposes, however, an alias can replace the actual host name.
The port number associated with the host name is optional. When the port number is omitted, the default port applies.
A comment describing the router is optional, and includes whatever string you specify in the Send Proxy Via Header Host Name field, by selecting Append in the list for Send Proxy Via Header In Request or Send Proxy Via Header In Response.
Because the Via header includes the protocol name and version, applications are able to acquire this information for the various intermediate routers and use it, as necessary.
This table describes controls and strings for Via Header settings in an HTTP profile.
|Send Proxy Via Header In Request||Remove||Specifies whether to Remove,
Preserve, or Append
Via headers included in a client request to an origin web server.
|Send Proxy Via Header In Response||Remove||Specifies whether to Remove,
Preserve, or Append
Via headers included in an origin web server response to
|Send Proxy Via Header Host Name||None||Specifies a string to append as a comment when sending a
Via header in a request to an origin web server or in
a response to a client.
Note: If you prefer to replace the host name with another string, instead of appending a string to the Via header, you must use an iRule or the command line.