Skip to content
HTTP/3
Visit HTTP/3 on GitHub
Set theme to dark (⇧+D)

Quiche HTTP/3 client

Quiche is Cloudflare's own implementation of the QUIC transport protocol and HTTP/3 as specified by the IETF. It contains a simple HTTP/3 client developed and supported by us, and is the easiest way to experiment with our edge QUIC implementation.

Installing from source

$ git clone --recursive https://github.com/cloudflare/quiche.git$ cd quiche$ cargo build --examples$ cd target/debug/examples

Using the quiche http3-client

The quiche http3-client can be used to issue HTTP/3 requests to a target URL. This will perform the QUIC handshake and if successful issue the request. By default, http3-client only logs the response body to standard out. You can control log visibility using the RUST_LOG environment variable e.g. RUST_LOG=info; either export this or pass it directly into the command. The info log level shows some basic information about interactions, trace shows a lot of information including transmission (tx) and reception (rx) of QUIC frames.

$ RUST_LOG="info" ./http3-client https://cloudflare-quic.com

You can also try requesting a larger file:

$ RUST_LOG=info ./http3-client https://probe.cloudflareboltprobes.com/objects/30k.png

Can I use clients other than quiche?

Yes, users can use HTTP/3 clients from other companies. Our server implementation of HTTP/3 & QUIC has no affinity or dependency on the client.