base-http-protocol 0.2.0

HTTP protocol selection and client/server codec construction
Documentation

Base HTTP Protocol

Experimental protocol selection shared by the application client and server, following Async::HTTP's protocol factories. HttpProtocols supplies application-protocol offers and selects an enabled engine from explicit plaintext policy or an opaque negotiated identifier. HttpProtocol constructs the corresponding client/server codec pair.

The initial engine is HTTP/1, advertising http/1.1. Missing ALPN is accepted for older HTTPS peers unless require_alpn is enabled. An unknown negotiated identifier is always rejected. TLS configuration, handshakes, encryption and transport ownership remain outside this crate. base-http1 only consumes plaintext stream capabilities.

HTTP/2 and QUIC/HTTP/3 are future engines. TCP and QUIC require distinct establishment paths; advertising h3 over a TLS/TCP connection cannot select QUIC. The existing semantic base_http::Protocol describes application upgrades and is unrelated to this configuration.