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 selects outbound HTTP/3 on the next CONNECT or new HTTP/1.1 request (background QUIC warm-up starts when the cache is filled). An already-open H2↔H2 MITM session is not upgraded mid-connection. 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 |