Search Results for

    Show / Hide Table of Contents

    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 false, the client is simply never offered "h2" via ALPN either, so it transparently negotiates HTTP/1.1 too and no translation is ever required. Setting it to true instead allows the client to negotiate HTTP/2 while the origin connection stays HTTP/1.1, which requires bridging client h2 streams onto HTTP/1.1 origin requests.

    Http2

    Always use HTTP/2 on the connection to the origin. Without ForwardCleartext, the origin must negotiate h2 via TLS ALPN. With ForwardCleartext, the origin connection is cleartext HTTP/2 prior-knowledge (h2c) instead. A translation bridge cannot fabricate HTTP/2 at an origin that lacks it. When the client itself does not negotiate HTTP/2, reconciling that with a confirmed HTTP/2 origin connection requires AllowHttpProtocolTranslation/ AllowHttpProtocolTranslation to bridge HTTP/1.1 client requests onto the HTTP/2 origin connection.

    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 AllowHttpProtocolTranslation is true, a non-H3 inbound client connection may still be bridged onto the H3 origin stream.

    Honored from connection-level events and from UpstreamHttpProtocol in BeforeRequest. Forced Http3 skips Auto-mode warm-up gating and fails closed with no TCP fallback.

    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX