HTTP General Header Via

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.45

Internal

Overview

The Via header must be used by gateways and proxies to indicate the intermediate protocols and recipients between the user agent and the server on requests, and between the origin server and the client on responses. It is analogous to the Received field and is intended to be used for tracking message forwards, avoiding request loops, and identifying the protocol capabilities of all senders along the request/response chain.

[HTTP-protocol-name/] protocol-version (host[:port] | pseudonym)

"HTTP-protocol-name" (optional as it would be "HTTP") indicates the protocol version of the message received by the server or client along each segment of the request/response chain.

The host and optionally the port number of the recipient server follow. However, if the real host is considered to be sensitive information, it may be replaced by a pseudonym. If the port is not given, it will be assumed to be the default port of the protocol.

Multiple Via field values represents each proxy or gateway that has forwarded the message. Each recipient will append its information such that the end result is ordered according to the sequence of forwarding applications.

Applications should not combine multiple entries unless they are all under the same organizational control and the hosts have already been replaced by pseudonyms. Applications must not combine entries which have different received-protocol values.