Enum UpstreamHttpProtocol
Controls which HTTP version the proxy uses on its own connection to the origin server, independent
of which HTTP version the client used to talk to the proxy. Set a connection-level default on
UpstreamHttpProtocol (during
BeforeTunnelConnectRequest), UpstreamHttpProtocol
(during BeforeSslAuthenticate), or
UpstreamHttpProtocol (during
BeforeQuicAuthenticate). Per-request overrides are available via
UpstreamHttpProtocol in BeforeRequest.
Namespace: Titanium.Web.Proxy.Models
Assembly: Titanium.Web.Proxy.dll
Syntax
public enum UpstreamHttpProtocol
Fields
| Name | Description |
|---|---|
| Auto | Couple the origin protocol to the client protocol: HTTP/2 is only ever offered to the client when the origin has also been confirmed (via a fresh probe or a cached prior result) to support HTTP/2, and the origin connection then uses whatever protocol the client ends up negotiating. When EnableHttp3 is true, a cached Alt-Svc / HTTPS/SVCB result in Titanium.Web.Proxy.Http3.Http3OriginCapabilityCache only arms background QUIC warm-up; outbound HTTP/3 is used once that origin is warm, otherwise the request stays on HTTP/2 or HTTP/1.1. This is the default. |
| Http11 | Always use HTTP/1.1 on the connection to the origin, regardless of what the client negotiates with
the proxy. When AllowHttpProtocolTranslation/
AllowHttpProtocolTranslation is left
at its default of |
| Http2 | Always use HTTP/2 on the connection to the origin. Without
ForwardCleartext, the origin must negotiate
|
| Http3 | Always use HTTP/3 (QUIC) on the connection to the origin. Fails the stream with
ProxyConnectException if HTTP/3 cannot be established — no fallback to
HTTP/2 or HTTP/1.1. Symmetric with Http2: origin must support QUIC/h3 or the
request fails. When
Honored from connection-level events and from
UpstreamHttpProtocol in |