HTTP requests are serviced internally
or by passing them on, with possible translation, to other
HTTP servers. An HTTP proxy must implement
both the client and server requirements of this specification. A
"transparent proxy" is a proxy that does not modify the
HTTP request or the
HTTP response beyond what is required for
proxy authentication and identification. A "non-transparent proxy" is a
proxy that modifies the
HTTP request or
HTTP response in order to provide some
added service to the
user agent, such as
group annotation services, media type transformation, protocol
reduction, or anonymity filtering. Except where either transparent or
non-transparent behavior is explicitly stated, the HTTP proxy
requirements apply to both types of proxies.