HTTP Protocols
Orb supports HTTP/1.1, HTTP/2, and HTTP/3 (QUIC). By default, it automatically negotiates the best available protocol.
Protocol Versions
Section titled “Protocol Versions”HTTP/1.1
Section titled “HTTP/1.1”The classic HTTP protocol. Works over plain TCP or TLS.
orb --http1.1 https://example.comHTTP/2
Section titled “HTTP/2”Multiplexed connections over a single TCP connection. Requires TLS (HTTPS).
orb --http2 https://example.comHTTP/3
Section titled “HTTP/3”The newest protocol, using QUIC instead of TCP. Requires TLS (HTTPS) and server support.
orb --http3 https://example.comAutomatic Protocol Negotiation
Section titled “Automatic Protocol Negotiation”Without forcing a specific version, orb negotiates the best protocol:
# HTTPS: Negotiates HTTP/2 or HTTP/1.1 via ALPNorb https://example.com
# HTTP: Uses HTTP/1.1 (no negotiation)orb http://example.comThe protocol is negotiated during TLS handshake using ALPN (Application-Layer Protocol Negotiation).
Checking the Protocol Used
Section titled “Checking the Protocol Used”Use -v (verbose) to see which protocol was used:
orb -v https://example.com 2>&1 | grep -i "http/"Output:
< HTTP/2 200 OKOr with write-out:
orb -w https://example.comProtocol Requirements
Section titled “Protocol Requirements”| Protocol | Encryption | Transport |
|---|---|---|
| HTTP/1.1 | Optional | TCP |
| HTTP/2 | Required (HTTPS) | TCP |
| HTTP/3 | Required (HTTPS) | QUIC (UDP) |