Skip to content

HTTP Protocols

Orb supports HTTP/1.1, HTTP/2, and HTTP/3 (QUIC). By default, it automatically negotiates the best available protocol.

The classic HTTP protocol. Works over plain TCP or TLS.

Terminal window
orb --http1.1 https://example.com

Multiplexed connections over a single TCP connection. Requires TLS (HTTPS).

Terminal window
orb --http2 https://example.com

The newest protocol, using QUIC instead of TCP. Requires TLS (HTTPS) and server support.

Terminal window
orb --http3 https://example.com

Without forcing a specific version, orb negotiates the best protocol:

Terminal window
# HTTPS: Negotiates HTTP/2 or HTTP/1.1 via ALPN
orb https://example.com
# HTTP: Uses HTTP/1.1 (no negotiation)
orb http://example.com

The protocol is negotiated during TLS handshake using ALPN (Application-Layer Protocol Negotiation).

Use -v (verbose) to see which protocol was used:

Terminal window
orb -v https://example.com 2>&1 | grep -i "http/"

Output:

< HTTP/2 200 OK

Or with write-out:

Terminal window
orb -w https://example.com
ProtocolEncryptionTransport
HTTP/1.1OptionalTCP
HTTP/2Required (HTTPS)TCP
HTTP/3Required (HTTPS)QUIC (UDP)